VB6 et MySQL

Fermé
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 28 sept. 2012 à 17:14
 Loulou - 20 mars 2013 à 10:46
Salut à tous et merci de vous pencher sur mon problème.

Alors voilà, j'ai installé tout d'abord mysql-connector-odbc-5.2.2-winx64

Puis dans le load j'ai ce code :
'Activer Microsoft ActiveX Data Objects 2.5 Library
Dim Connexion As New ADODB.Connection
Dim RS As New ADODB.Recordset
Dim Requete As String
'-----------------

Private Sub Form_Load()
 'Création de la connexion ODBC par regedit
Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\Connect\DATABASE", T_DataBase, "REG_SZ"
WshShell.RegWrite "HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\Connect\DESCRIPTION", "T_Description", "REG_SZ"
WshShell.RegWrite "HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\Connect\Driver", "C:\Program Files\MySQL\Connector ODBC 5.2\Unicode\myodbc5w.dll", "REG_SZ"
WshShell.RegWrite "HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\Connect\PORT", "3306", "REG_SZ"
WshShell.RegWrite "HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\Connect\PWD", T_Password, "REG_SZ"
WshShell.RegWrite "HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\Connect\SERVER", T_Host, "REG_SZ"
WshShell.RegWrite "HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\Connect\UID", T_User, "REG_SZ"
WshShell.RegWrite "HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources\Connect", "MySQL ODBC 5.2w Driver", "REG_SZ"
'----------------------
'Connexion à la base de données

Connexion.Provider = "MSDASQL.1; Persist Security Info=False; User ID=T_User; Data Source=MySQL Serveur; Initial Catalog=T_DataBase"
Connexion.Open
Requete = "SELECT * FROM DB_TestAppli"
RS.CursorLocation = adUseClient
RS.Open Requete, Connexion, adOpenStatic, adLockOptimistic
RS.ActiveConnection = Connexion
RS.Close

End Sub


Lors de l'exécution, je reçois ce message d'erreur :
erreur d'exécution -2147467259 (8004005)
[Microsoft][Gestionnaire de pilote ODBC]Source de données introuvable et nom de pilote non spécifié.
à la ligne Connexion.Open

Par contre, dans le panel de win, dans ODBC, je me connecte super bien avec ma base depuis l'administrateur de source de données ODBC.

Pour test :
http://sql09.freemysql.net/?server=208.11.220.249
host : SQL09.FREEMYSQL.NET
user : sinistrus
pass : testeur

Pouvez-vous m'orienter svp ?

C'est super important que je puisse connecter mon appli à ma base MySQL!

Merci d'avance

A voir également:

7 réponses

f894009 Messages postés 17191 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 mai 2024 1 708
Modifié par f894009 le 29/09/2012 à 12:15
Bonjour,
Vous avez des variables, integrez les en temps que tel(Kaamlot).

Connexion.Provider = "MSDASQL.1;" _ 
                      & "Persist Security Info=False;" _ 
                      & "User ID=" & T_User & ";" _ 
                      & "Data Source=MySQL Serveur;" _ 
                      & "Initial Catalog=" & T_DataBase
0
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
29 sept. 2012 à 12:27
Même avec les variables intégrée en tant que tel j'ai le même problème.

En fait, comme j'avais expliqué, c'est dès le load qu'il affiche le problème... il ne prends pas le temps de (même x secondes) pour chercher à voir si y a un problème...

Je n'y arrive pas, sur deux postes il fait pareil problème (Seven).

Est-il du problème du OS ?
Est-il du problème du code ?
Est-il du problème du pilote ?
0
f894009 Messages postés 17191 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 mai 2024 1 708
Modifié par f894009 le 30/09/2012 à 10:59
Bonjour,

Allez voir sur ce site: connection 64bits

https://www.connectionstrings.com/mysql/
0
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
Modifié par Sinistrus le 30/09/2012 à 14:26
Effectivement f894009,
Il semblerait que ce soit un probleme du Driver ODBC 5.2.

J'ai installé la version que j'avais depuis 2009 (qui fonctionnait très bien), la 5.1

Idem problème, alors j'ai changé ceci dans le code :
Connexion.Provider = "Driver={MySQL ODBC 5.1 Driver};Server=T_Host;Database=T_Base;User=T_User;Password=T_Pass;Option=3"


Là le message a changé mais au même sens je crois...
Erreur d'exécution 3706
Impossible de trouver le fournisseur. Il est peut-être mal installé.


J'ai changé de poste, je suis sur XP Pro 32 bit maintenant pour test standard.

J'ai essayé de comprendre comment résoudre le point d'entré de la dll myodbc5.dll mains en vain...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17191 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 mai 2024 1 708
30 sept. 2012 à 16:49
Bonjour,

Idem problème, alors j'ai changé ceci dans le code :

Connexion.Provider = "Driver={MySQL ODBC 5.1 Driver};Server=T_Host;Database=T_Base;User=T_User;Password=T_Pass;Option=3"


Vous n'avez pas ecrit cela literalement, vous avez separe les variable du texte?????
0
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
1 oct. 2012 à 10:23
Voilà exactement la ligne sur freeMySQL:
Connexion.Provider = "Driver={MySQL ODBC 5.1 Driver};" _
& "Server=SQL09.FREEMYSQL.NET;" _
& "Database=databaseajg;" _
& "User=sinistrus;" _
& "Password=testeur;" _
& "Option=3"


Le test ODBC se connecte mais VB6 refuse.
0
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
1 oct. 2012 à 11:56
Sachant que dans la doc des codes erreurs ADO :
3706 adErrProviderNotFound Le fournisseur est introuvable. Son installation est peut-être incorrecte. Il est possible que le nom du fournisseur spécifié soit incorrect, qu'il ne soit pas installé sur l'ordinateur exécutant votre code ou que l'installation ait été endommagée.

Il est donc précisé que le pilote n'est pas installé.
Lorsque j'exécute :
regsvr32.exe "C:\Program Files\MySQL\Connector ODBC 5.2\Unicode\myodbc5w.dll"


Le module a été chargé, mais le point d'entrée DllRegisterServer est introuvable.
Vérifiez que la dll est un fichier valide, puis réessayer.


Donc en résumé, je penses bien que le problème est certainement de là, de ma dll.

Savez-vous svp comment forcer l'entrée de cette dll ?
0
f894009 Messages postés 17191 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 mai 2024 1 708
1 oct. 2012 à 12:32
Re,
Non, aucune idee. Dans les test que je fais, connecteur 3.51 ou 5.1, l'erreur est pas possible de se connecter a SQL09.FREEMYSQL.NET.
0
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
1 oct. 2012 à 12:55
Pourtant il se connecte chez moi. Rassure toi stp des espaces après la copie...
J'ai essayé maintenant le même SQL09.FREEMYSQL.NET sur 5 PC différents
1 Win 7 32
2 Win 7 64
1 XP 32


Clé regedit après test ODBC réussi
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\FreeMySQL Connector 5.2x]
"Driver"="C:\\Program Files\\MySQL\\Connector ODBC 5.2\\Unicode\\myodbc5w.dll"
"DESCRIPTION"="FreeMySQL"
"SERVER"="SQL09.FREEMYSQL.NET"
"UID"="sinistrus"
"PWD"="testeur"
"DATABASE"="databaseajg"
"PORT"="3306"
0
J'ai rencontré le même problème depuis un poste Windows 7 64 bits. Impossible de me connecter à MySQL depuis VB6 avec les connecteurs ODBC 5.1 et 5.2 64 bits. J'ai par contre réussi avec le connecteur 3.51 64 bits...
Depuis un terminal serveur Windows Server 2003, je réussi par contre à me connecter avec les connecteurs ODBC 5.1 et 5.2 32 bits !

Téléchargement des connecteurs sur http://dev.mysql.com/downloads/connector/odbc/

Si vous avez plus de précisions à apporter par rapport à ces mystères, je suis preneur...
0