FORUM Tom's Hardware » Programmation » VB / VBA / VBS » Problème d’accès à une BDD Access sur certains OS !
 

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

Réseaux : The Ghost Is Me Jeux et consoles : mwaaaaa, 4 utilisateurs anonymes et 211 utilisateurs inconnus
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Problème d’accès à une BDD Access sur certains OS !
 
Plus d'informations

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.

Plus d'informations

Salut
Tu nous donnes le code, tu nous dis que ça ne marche pas, mais aucune info sur l'erreur en question (n°, libellé, ligne qui bug supposément).
Ceci dit, le « Microsoft Access Driver » utilise-t-il vraiment le MDAC ou bien juste le Jet Engine d'Access (qui n'est pas mis à jour par le MDAC je crois) ?

Plus d'informations

T'as raison, j’ai oublié l’essentiel.  
J’obtiens le message d’erreur suivant : « Le composant ActiveX ne peut créer l'objet » lorsque l’instruction « Set My_Connection = New ADODB.Connection » est exécutée.
 
Merci

zeb
Profil : Modérateur libre
Plus d'informations

En plus, tu as oublié de respecter le règlement.
Va le lire et mets ton premier message en conformité !!!!!!
 
L'utilisation de la balise [code] te permettra d'ailleurs de nous dire à quelle ligne se trouve l'erreur.


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
Plus d'informations

Ça y est play2001, tu vas nous énerver le zeb :)
Pense à ses artères, faut le ménager, il peut encore servir :p
 
Sinon, si tu as MS Office sur un poste de travail où tu as constaté l'erreur, ouvre un classeur Excel, va dans l'éditeur de code (ALT+F11) et dans le menu Outils/Références.
Là dis nous si tu trouves « Microsoft Activex Data Objects 2.x Library » et si tu peux l'exploiter.
Logiquement si ton code précédent plante sur la création de ADODB, ça devrait se voir sous Excel.
Vérifie que la version sur ce poste correspond à la version de ton kit de déploiement.


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » VB / VBA / VBS » Problème d’accès à une BDD Access sur certains OS !
 

Annonces Google
Publicité