[EXCEL 2007] - Windows 7 - ODBC Error 1004

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 3 déc. 2013 à 22:32
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 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.
A voir également:

1 réponse

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 déc. 2013 à 08:07
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
0
Rejoignez-nous