[EXCEL 2007] - Windows 7 - ODBC Error 1004

jordane45 19574 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 8 janvier 2018 Dernière intervention - 3 déc. 2013 à 22:32 - Dernière réponse : ucfoutu 18024 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 7 janvier 2018 Dernière intervention
- 4 déc. 2013 à 08:07
Bonjour,

Un utilisateur a récemment migré de Windows XP à Windows 7 (et changé de PC au passage..).

Depuis, Une macro utilisant une connexion ODBC pose problème...
Lorsqu'il la lance, il obtient le message d'erreur : "General ODBC Error - 1004 "

Cette Macro fonctionne toujours sur le PC de son collègue ( XP / Excel 2007) ce qui permet de conclure que le souci ne se trouve, ni au niveau de la BDD, ni au niveau des requêtes...

Bien sûr, je lui ai demandé de vérifier les références cochées et oui, la Microsoft activix data object 2.6 est bien là..

Je n'ai pas son code sous la main... mais il ressemble très fortement à ceci :
Public Function RunQuery(Des, query)
UserId = Sheets("User").Cells(2, 16)
Password = Sheets("User").Cells(2, 17)
database = Sheets("User").Cells(2, 18)
    With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
        "ODBC;DRIVER={Oracle in oraclient11g_home1_32};SERVER=" & database & ";UID=" & UserId & ";PWD=" & Password & ";DBQ=" & database & ";DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;Q" _
        ), Array( _
        "TO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=Me;CSR=F;FWC=F;FBS=  60000;TLO=O;" _
        )), Destination:=Des)
        .CommandText = query
        .Name = rangeName & " from " & database
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = True
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlOverwriteCells
        .SavePassword = True
        .SaveData = True
        .AdjustColumnWidth = False
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery = False
    End With
End Function



Le blocage se faisant sur la ligne :
.Refresh BackgroundQuery = False



=> J'ai changé oraclient10g en oraclient11g mais sans succès...

Auriez-vous une idée sur ce qui pourrait générer ce souci...
(l'emplacement des drivers ODBC par exemple ? )

J'essaierai de vous donner plus d'informations demain (code exact, OS 32 ou 64 Bits .. etc...)


Merci pour votre aide.
Afficher la suite 

1 réponse

Répondre au sujet
ucfoutu 18024 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 7 janvier 2018 Dernière intervention - 4 déc. 2013 à 08:07
0
Utile
Bonjour,
Je n'ai pas Oracle.
Il semble cependant que le problème trouve sa cause dans des versions différentes du Pilote de Oracle.
Je viens par exemple -et entre autres) de lire ceci :
http://www.excelforum.com/excel-new-users-basics/400110-runtime-error-1004-general-odbc-error.html
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.