Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/01/2012, 10h43   #1
Candidat au titre de Membre du Club
 
Homme Thierry Clairet
Chef de projet en SSII
Inscription : décembre 2011
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme Thierry Clairet
Localisation : France, Loiret (Centre)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : décembre 2011
Messages : 10
Points : 11
Points : 11
Par défaut Erreur ODBC incompatibilité d'architecture entre le pilote et l'application

J'ai passé quelques heures à résoudre ce problème, si ça peut bénéficier à d'autres ...

J'ai dû changer de PC au cours d'un développement VBA Excel 2003 utilisant une connexion ODBC via ADODB pour accéder à une base MySQL - je suis donc passé de Windows XP à Windows 7.
La connexion qui fonctionnait sur mon ancien PC (extrait de code ci-dessous) échouait sur la nouvelle machine avec le message d'erreur ODBC suivant "incompatibilité d'architecture entre le pilote et l'application".

Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub ConnectDB()
    Dim oConn As ADODB.Connection
    Set oConn = New ADODB.Connection
    oConn.Open "DRIVER={MySQL ODBC 5.1 Driver};" & _
        "SERVER=127.0.0.1;" & _
        "DATABASE=dbloadtest;" & _
        "USER=root;" & _
        "PASSWORD=;" & _
        "Option=3"
    Set oConn = Nothing
End Sub
Il existe 2 versions du pilote MySQL pour les machines 32 et 64 bit : mysql-connector-odbc-5.1.9-win32.msi et mysql-connector-odbc-5.1.9-winx64.msi.
Il existe également 2 versions du gestionnaire ODBC odbcad32.exe implantés sur ma nouvelle machine : version 32 bit sur C:\Windows\System32 (celle qui est associée au panneau de configuration) et version 64 bit sur C:\Windows\SysWOW64.

Après plusieurs recherches et essais, la combinaison qui m'a permis de rétablir le fonctionnement du code VBA est la suivante (je n'ai pas tout testé, je me suis arrêté à la première qui marchait !):
- version 32 du driver ODBC MySQL
- version 64 bit du gestionnaire ODBC
Voir en complément, l'explication (pas très claire pour moi) sur http://support.microsoft.com/kb/942976/fr
zardoz45 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 13/01/2012, 10h55   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

Merci de ta contribution. Marque la question comme résolue. Ça sera une indication pour ceux qui cherchent.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h21.


 
 
 
 
Partenaires

Hébergement Web