[EXCEL 2007] - Windows 7 - ODBC Error 1004

Signaler
Messages postés
32323
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 mai 2021
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
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.

1 réponse

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
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