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 : 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
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.