[ADO.Net][VB.NET]Comment connecter MySQL via localhost ?
Bonjour tout le monde.
J'utilise la bibliothèque MySQL Connector 1.0.7 pour établir une connexion à un serveur de base de données MySQL.
Voici le code de ma fonction
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
Function Tester_Connexion_SQL(ByVal Server As String, ByVal Port As Integer, ByVal User As String, ByVal Pwd As String) As String
Dim Resultat As String
Try
'Chaîne de connexion
Dim connectString As String = "Data source=" + Server + ";port=" + Port.ToString + ";user id=" + User + "; password=" + Pwd + "; pooling=false"
'Objet connection
Dim connection As MySqlConnection = New MySqlConnection(connectString)
System.Diagnostics.Debug.WriteLine(connection.State)
'Ouverture
connection.Open()
Resultat = connection.State.ToString
'Fermeture de la base
connection.Close()
Catch ex As Exception
Resultat = ex.Message
End Try
Return Resultat
End Function |
Comme vous pouvez le constater, si la connexion a bien pu être établie, la fonction retourne "Open" (connection.State.ToString).
Sinon elle renvoie l'exception levée...
Jusque là rien de bien compliqué.
J'ai installé easyphp sur ma machine et sur une machine de mon réseau local.
Mon problème est le suivant :
- Lorsque je mets
server = localhost
port = 3306
user = root
password =
la connexion s'établit, la fonction retourne "OPEN" -> ça marche
- De même si je mets
server = 127.0.0.1
port = 3306
user = root
password =
la connexiion s'établit, à mon avis il y a résolution de 127.0.0.1 en localhost grace au fichier host de windows
- Par contre lorsque j'inscris
server = 192.168.0.10 (=ip de ma machine locale)
port = 3306
user = root
password =
ou encore
server = 192.168.0.50 (=ip d'une autre machine équipée de esyphp sur mon réseau local)
port = 3306
user = root
password =
J'obtiens l'exception (renvoyée en resultat de la fonction) :
Une requête d'envoi ou de réception de données n'a pas été autorisée car le socket n'est pas connecté et (lors de l'envoi sur un socket datagramme en utilisant un appel sendto) aucune adresse n'a été fournie
Mon but étant de tester la connexion vers un serveur MySQL distant, une fois la connexion établie, j'y envoie des requêtes avec d'autres fonctions...
Je ne comprends pas pourquoi et n'arrive pas à débugger... Je n'ai rien trouvé sur le NET, j'ai esssayé beaucoup de choses (désactiver le firewall, modifier la chaine de connexion...) rien n'y fait.
Alors est-ce que quelqu'un a une idée ?
Merci par avance de vos réponses.
Re: [VB.NET] [MySQL] Probleme de connexion de socket
Citation:
Envoyé par le_ben2000
server = 192.168.0.50 (=ip d'une autre machine équipée de esyphp sur mon réseau local)
port = 3306
user = root
Salut.
Le pb n'est pas .NET mais EasyPph. En effet celui ci désactive la connexion à distance de MySql . Tu ne peux donc pas joindre le serveur MySql Livré avec EasyPhp à partir d'une autre adresse que localhost. Installe un "vrai" mysql et autorise la connexion à distance pour pouvoir faire tes tests
merci tu vien de me dire comment me connecter