CONNEXION À UNE BASE DE DONNÉES MYSQL VIA ODBC

braunt Messages postés 6 Date d'inscription vendredi 5 septembre 2003 Statut Membre Dernière intervention 12 octobre 2006 - 25 nov. 2004 à 10:18
wahab007 Messages postés 7 Date d'inscription lundi 31 décembre 2007 Statut Membre Dernière intervention 17 août 2010 - 12 juil. 2010 à 15:32
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/22764-connexion-a-une-base-de-donnees-mysql-via-odbc

wahab007 Messages postés 7 Date d'inscription lundi 31 décembre 2007 Statut Membre Dernière intervention 17 août 2010
12 juil. 2010 à 15:32
Bonjour à tous,
j'ai beaucoup apprécié ce module car je suis arrivé à l'adapter a mon projet sans problème. Cependant quand je veux attaquer une base de donnée distante en remplaçant localhost par l'adresse ou le nom du serveur ça ne marche pas et voici le message d'érreur :

Erreur d'execution -2147467259 (80004005)

[MYSQL][ODBC 5.1 Driver] host 'Nom_machine.mshome.net' is not allowed to connect to this MYSQL server.

Quelqu'un a t'il une solution?
Jackon Messages postés 4 Date d'inscription jeudi 1 février 2007 Statut Membre Dernière intervention 15 janvier 2008
6 oct. 2007 à 19:30
Bonjour à tous,
Ce code me génére une erreur à ce niveau et me dit "erreur de compilation : Type défine par l'utilisateur non défini"
Public Function ConnexMySQL(ByVal nomServeur As String, ByVal DB As String, ByVal User As String, ByVal Pwd As String) As ADODB.Connection

Merci de m'aider
Cordialement
cs_Jordan59 Messages postés 174 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 9 avril 2014 7
6 juin 2006 à 14:14
J'avais oublié de télécharger le driver maintenant, j'ai une autre erreur : "Accés refusé pour l'utilisateur : 'host'@'@localhost'(mot de passe : NON)"
cs_Jordan59 Messages postés 174 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 9 avril 2014 7
6 juin 2006 à 12:30
Moi, j'ai l'erreur suivante : "data source name not found and no default driver specified" :(
MF_DeNice Messages postés 7 Date d'inscription dimanche 28 août 2005 Statut Membre Dernière intervention 24 octobre 2005
28 août 2005 à 19:11
Bonjour tout le monde!
Voilà je me lance dans le visual basic (je bosse avec VB6), et je cherche à faire une connexion tout bête à une base de données MySQL. Je possède MySQL Server 4.1 et je sais m'en servir ;)
Je connais un peu le logiciel, ainsi que la POO étant donné que je fais du Flash à un niveau pas trop mal maintenant ^^.
J'ai déjà trouvé sur ce site dans un des messages laissés par je ne sais qui, où il y avait une "bible" de 139 pages.
Cependant en essayant de faire ce qui est expliqué dans cette doc, le compilateur m'affiche une erreur que je ne parviens pas à comprendre. Voici le code complet de ma connexion:

Dim connexionSQL As New SqlClient.SqlConnection
connexionSQL.ConnectionString = "Provider=MySQLProv;Data Source=C:\Program Files\MySQL\MySQL Server 4.1\data"
connexionSQL.Open

et l'erreur se fait sur la ligne suivante:

Dim connexionSQL As New SqlClient.SqlConnection

L'erreur affichée est :
User-defined type not defined

Merci d'avance!
A bientôt!
regisd01 Messages postés 51 Date d'inscription samedi 3 mai 2003 Statut Membre Dernière intervention 3 octobre 2006
9 févr. 2005 à 00:27
L'inscrution qui déclenche l'erreur est
ConnexMySQL.Open

G vérifiez les identifiants ODBC et tout marche

Je suis perdu :s
JeanPoldeux Messages postés 64 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 5 août 2005
8 févr. 2005 à 20:29
Généralement, une erreur comme celle là est une erreur ADO. Je viens d'essayer sur ma config et tout fonctionne sous VB5 et sous VB6.

Voici quelques points à vérifier
---------------------------------------
Existence de la base
Mot de passe.
Driver ODBC MySQL (à tester hors VB6)

Je ne connais pas Windows 2003 mais tu devrais pouvoir trouver où créer une nouvelle connexion ODBC (dans le panneau de configuration dans les versions NT). Le driver MySQL demande alors le nom de la base, le login et le mot de passe. Il permet de tester la connexion.

Dans VB
-----------
Mets un point d'arrêt sur la ligne "Set Connexion =..." en cliquant dans la marge ou <F9> et lance l'exécution pas à pas. Tu pourras de ce fait déterminer quelle instruction déclenche cette erreur.

Vérifie la valeur des variables à chaque instruction en laissant ta souris dessus ou encore mieux via le controle de debugging(valeur des variables locales).

Ah la joie de la programmation.
regisd01 Messages postés 51 Date d'inscription samedi 3 mai 2003 Statut Membre Dernière intervention 3 octobre 2006
8 févr. 2005 à 15:18
en VB6,
Il me mets
Erreur d'éxécution -2147418113 (8000ffff)
Erreur irrémédiable

Je n'ai rien modifié à ton module g juste ajouté ceci ds
l'évenement de click sur Command1 :

Dim Connexion As ADODB.Connection
Dim Rs As ADODB.Recordset

Private Sub Command1_Click()
Set Connexion = ConnexMySQL("search", "root", "moncode")
End Sub

Voila Merci
PS : Je suis sous Windows 2003
JeanPoldeux Messages postés 64 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 5 août 2005
8 févr. 2005 à 14:03
C'est un peu vague comme explication. Quelle erreur ?, de quel type?
Est-ce utilisé en vb, vba , vb.Net, ... ?

Poste l'utilisation que tu en fais et ta configuration et je verrai ce que je peux faire
regisd01 Messages postés 51 Date d'inscription samedi 3 mai 2003 Statut Membre Dernière intervention 3 octobre 2006
8 févr. 2005 à 12:52
G une erreur Défaillance Irrémédiable à ConnexMySQL.Open
JeanPoldeux Messages postés 64 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 5 août 2005
7 déc. 2004 à 11:52
Voir aussi Source n°28043 :
Active X qui à les même fonctionnalités que ADO et MyODBC sans utiliser ces outils mais en utilisant les fonctions API de MySQL.
JeanPoldeux Messages postés 64 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 5 août 2005
7 déc. 2004 à 11:42
Voici un exemple :
' ATTENTION : Ajouter la référence Microsoft Active X DataObjects Librairy
' au projet

Public Sub Main()

Dim Connexion As ADODB.Connection
Dim Rs As ADODB.Recordset

'------------------------------------------------------------------
'Ouverture d'une connexion
Set Connexion = ConnexMySQL("localhost", "test", "root", "admin")

'------------------------------------------------------------------
'Création d'une nouvelle table
ReqSqlTableNew Connexion, "nouvelletable", "id int primary key auto_increment,nom varchar(10)"

'------------------------------------------------------------------
'Insertion de 2 nouveaux enregistrements
Dim NewNom As String

NewNom = "jean"

'Les apostrophes devant limiter une chaine de caractères dans une requête SQL
'Doubler les apostrophes se trouvant dans la chaine
NewNom = "'" + Replace(NewNom, "'", "''") + "'"

ReqInsert Connexion, "nouvelletable", "nom", NewNom
ReqInsert Connexion, "nouvelletable", "nom", "'andre'"

'------------------------------------------------------------------
'Selectionner tous les enregistrements
Set Rs = ReqSelect(Connexion, "*", "nouvelletable", , , "nom")
If Not (Rs.BOF True And Rs.EOF True) Then
'Cette requete a un résultat
Rs.MoveFirst
Do Until Rs.EOF = True
Debug.Print CStr(Rs.Fields("id").Value) + " - " + Rs!nom
Rs.MoveNext
Loop
Else
Debug.Print "Aucun enregistrement"
End If

'Fermer le Recordset et détruire l'objet
If Not (Rs Is Nothing) Then
If Rs.State = 1 Then
Rs.Close
End If
Set Rs = Nothing
End If

'------------------------------------------------------------------
'Supprimmer le premier record
ReqDelete Connexion, "nouvelletable", "nom='jean'"

'------------------------------------------------------------------
'Fermer la connexion
If Not (Connexion Is Nothing) Then
If Connexion.State = 1 Then
Connexion.Close
End If
Set Connexion = Nothing
End If

End Sub
braunt Messages postés 6 Date d'inscription vendredi 5 septembre 2003 Statut Membre Dernière intervention 12 octobre 2006
25 nov. 2004 à 10:18
Bonjour,
Juste une petite question sur l'utilisation de cette source (qui a l'air de correspondre a ce que je recherche). Comme je débute, as tu un exemple d'utilisation pour chaque fonction ou sub?
Merci