Problème d’accès à une BDD Access sur certains OS !

1 post / 0 new
play2001
Problème d’accès à une BDD Access sur certains OS !

Bonjour à tous,
J’ai développé une application en vb6 utilisant une base de données Access. Lors de son déploiement sur certains postes, la connexion à la BDD échoue. Cela ne fonctionne pas du tout avec windows 98, mais fonctionne un peu mieux avec Win98 SE. Le problème se pose parfois même sur certains ordinateurs équipés de Windows XP ou Vista !
Voici le code utilisé pour la connexion à la BDD :

Set My_Connection = New ADODB.Connection
My_Connection.ConnectionTimeout = 15
My_Connection.CommandTimeout = 30

Str_connexion = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" + App.Path + "\" + Nom_BDD + ";Uid=;Pwd=" + Mot_De_Passe_BDD + ";"

If My_Connection.State = adStateOpen Then
My_Connection.Close
End If

My_Connection.Open Str_connexion

While (My_Connection.State = adStateConnecting)
DoEvents
Wend

Pour le déploiement de l’application, j’utilise « Inno Setup Compiler 5.1.6 », et je doute un peu que c’est la source du problème, mais je ne vois d’où ça peut venir. J’utilise bien MDAC. Voici le contenu du fichier de déploiement :
[Tasks]
Name: MDAC; Description: Microsoft Data &Access Components; GroupDescription: Compléments:; Flags: checkedonce restart; MinVersion: 4.0,4.0; OnlyBelowVersion: 0,5.0

[Files]
; [Bootstrap Files]

Source: Fichiers2\COMCAT.DLL; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile regserver
Source: Fichiers2\msvbvm60.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile regserver
Source: Fichiers2\Vb6fr.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile onlyifdoesntexist

; @vbscript.dll,$(WinSysPathSysFile),$(DLLSelfRegister),,19/08/04 2:09:48 PM,417792,5.6.0.8820
Source: Fichiers2\vbscript.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall sharedfile regserver
; @mscomctl.ocx,$(WinSysPath),$(DLLSelfRegister),$(Shared),3/8/04 11:00:00 PM,1081616,6.1.97.82
Source: Fichiers2\mscomctl.ocx; DestDir: {sys}; Flags: promptifolder regserver sharedfile
; @MSWINSCK.OCX,$(WinSysPath),$(DLLSelfRegister),$(Shared),6/23/98 11:00:00 PM,108336,6.0.81.69
Source: Fichiers2\MSWINSCK.OCX; DestDir: {sys}; Flags: promptifolder regserver sharedfile
; @tabctl32.ocx,$(WinSysPath),$(DLLSelfRegister),$(Shared),12/5/00 6:00:00 PM,209608,6.0.90.43
Source: Fichiers2\tabctl32.ocx; DestDir: {sys}; Flags: promptifolder regserver sharedfile
; @MSFLXGRD.OCX,$(WinSysPath),$(DLLSelfRegister),$(Shared),5/7/99 12:00:00 AM,244232,6.0.84.18
Source: Fichiers2\MSFLXGRD.OCX; DestDir: {sys}; Flags: promptifolder regserver sharedfile
Source: Fichiers2\mshtml.tlb; DestDir: {sys}; Flags: uninsneveruninstall regtypelib

; [Setup1 Files]
Source: Fichiers2\MDAC_TYP.EXE; DestDir: {app}; Flags: promptifolder deleteafterinstall nocompression; Tasks: MDAC

; @bdd.mdb,$(AppPath),,,12/6/05 2:53:46 AM,659456,0.0.0.0
Source: bdd.mdb; DestDir: {app}; Flags: promptifolder
; @Appli.exe,$(AppPath),,,12/6/05 7:28:02 AM,929792,1.0.0.0
Source: \ Appli.exe; DestDir: {app}; Flags: promptifolder sharedfile ignoreversion

;Uniquement Windows XP et Sup
Source: Fichiers2\asycfilt.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile onlyifdoesntexist; MinVersion: 0,5.01.2600
Source: Fichiers2\oleaut32.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist; MinVersion: 0,5.01.2600
Source: Fichiers2\olepro32.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist; MinVersion: 0,5.01.2600
Source: Fichiers2\stdole2.tlb; DestDir: {sys}; Flags: regtypelib ; MinVersion: 0,5.01.2600

;Uniquement avant Windows XP
Source: Fichiers2\Avant_WinXP\asycfilt.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile onlyifdoesntexist; OnlyBelowVersion: 0,5.01.2600
Source: Fichiers2\Avant_WinXP\oleaut32.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist; OnlyBelowVersion: 0,5.01.2600
Source: Fichiers2\Avant_WinXP\olepro32.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist; OnlyBelowVersion: 0,5.01.2600
Source: Fichiers2\Avant_WinXP\stdole2.tlb; DestDir: {sys}; Flags: regtypelib; OnlyBelowVersion: 0,5.01.2600

[Registry]
;MDAC 2.0+
Root: HKCU; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce; ValueType: string; ValueName: MDAC_Setup; ValueData: """{%TEMP}\mdac_typ.exe"" /Q /C:""setup /QT"""; MinVersion: 4.0,0; Tasks: MDAC

[Run]
; START MDAC 2.0+
Filename: {app}\mdac_typ.exe; Parameters: "/Q /C:""setup /QNT"""; WorkingDir: {tmp}; Flags: skipifdoesntexist; Tasks: MDAC; MinVersion: 4.1,0

Si vous avez une idée de la source du problème je suis preneur car je suis
un peu à cours d'idées en ce moment.
J'aimerai bien pouvoir supprimer MDAC pour le remplacer par des fichiers
moins lourds, mais ce n'est pas une priorité.
Merci de jeter un coup d'oeil également sur le fichier de déploiement pour
voir si ça vous semble correct.

Merci d'avance et bonne fin de journée.