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
Comme vous pouvez le constater, si la connexion a bien pu être établie, la fonction retourne "Open" (connection.State.ToString).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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.
Partager