Visual Studio 2008 Visual Basic connect WAMP

Signaler
Messages postés
153
Date d'inscription
dimanche 27 août 2006
Statut
Membre
Dernière intervention
26 décembre 2019
-
Messages postés
153
Date d'inscription
dimanche 27 août 2006
Statut
Membre
Dernière intervention
26 décembre 2019
-
Bonjour,
J'essaye vainement de me connecter à ma base WAMP
Imports MySQLDriverCS
Public Class Form1
    Dim maconnexion As MySQLConnection
        Dim chaine As String = "server=localhost;Database=dbasorco;Uid=root;Pwd=;"
        Public wOK As Boolean = False    '   Pour tester les actions
    Public Sub OpenBaseDB()
        Try
            maconnexion = New MySQLConnection()
            maconnexion.ConnectionString = chaine
            maconnexion.Open()
        Catch ex As Exception
            MessageBox.Show("WmodBaseDonne - ConnectionBase " & vbCrLf & " Erreur dans la connection à la base de données " & vbCrLf & vbCrLf & ex.Message)
            wOK = False
            Exit Sub
        End Try
    End Sub
    Private Sub butOuvre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butOuvre.Click
        Call OpenBaseDB()
    End Sub
End Class

J'ai le message d'erreur :
MySQLDriverCS Error cant't connect
Comment faire ? J'ai cherché en vain une réponse sur le NET

Cordialement
SC

9 réponses

Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
Bonjour !
A quelle ligne se produit cette erreur ?
Sous toute réserve si c'est à cette ligne
Dim chaine As String = "server=localhost;Database=dbasorco;Uid=root;Pwd=;"


Pwd n'est pas indiqué ( le mot de passe )
Messages postés
32403
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 mai 2021
347
Hello
Sous wamp, le compte root utilise, par défaut, un password vide. Donc c'est normal.
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
Bonjour !A tout hasard
MysqlConn.ConnectionString = "Server=localhost;Database=dbasorco;Uid=root;Pwd="";Port=8080"


Là le PassWord est vide ( les 2 guillemets après le signe = )
Messages postés
32403
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 mai 2021
347 >
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021

Des doubles quotes dans des doubles quotes ?... ça ne passera pas....
En plus, le port 8080 ? pour du mysql ? .. 3306 à la limite... à moins qu'il n'est changé sont port d'écoute mais j'en doute.
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
quelle bourde ! Merci jordane45
Messages postés
153
Date d'inscription
dimanche 27 août 2006
Statut
Membre
Dernière intervention
26 décembre 2019

Bonjour,
Je remet mon code, car j'ai fait d'autres essais, tous aussi infructueux les uns que les autres

Public Sub OpenBaseDB()
Try
Dim MysqlConn As MySQLConnection
MysqlConn = New MySQLConnection()
MysqlConn.ConnectionString = "Server=localhost;Database=dbasorco;Uid=root;Pwd=;Port=8080"
Try
MysqlConn.Open()
MessageBox.Show("Réussi !")
MysqlConn.Close()
Catch myerror As Exception
MessageBox.Show("Erreur : " & myerror.Message)
MessageBox.Show(myerror.StackTrace)
Finally
MysqlConn.Dispose()
End Try
Catch ex As Exception
wOK = False
Exit Sub
End Try
End Sub

L'erreur se produite à :

MysqlConn.Open()

Cordialement
Sauveur
Messages postés
32403
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 mai 2021
347
Bonjour,

Déjà.. il faut éviter d'utiliser le compte "root" pour une question de sécurité.
Il est préférable de créer un USER qui sera utilisé uniquement par ton application avec les droits sur la bdd désirée.

Si ton code VB se situe bien sur la même machine qui heberge la bdd , à la place de "localhost" tu peux essayer de mettre l'ip : 127.0.0.1

Ensuite, pour être sûr que la connexion (les identifiants) fonctionnent correctement, peux tu essayer
depuis un logiciel comme heidisql ? (http://codes-sources.commentcamarche.net/faq/10778-heidisql-tester-ses-requetes-sql)


PS: ton application est prévue pour toujours fonctionner sur la même machine que la bdd où as tu prévu de l'utiliser également depuis d'autres ordi ?
Si oui... évite la connexion direct à la bdd et utilise plutôt des web services.....




Messages postés
153
Date d'inscription
dimanche 27 août 2006
Statut
Membre
Dernière intervention
26 décembre 2019

Bonjour,
Merci Je vais essayer Heidisql, et je rendrais compte
Messages postés
153
Date d'inscription
dimanche 27 août 2006
Statut
Membre
Dernière intervention
26 décembre 2019

Voila, j'ai testé avec Heidisql et aucune erreur
C'est quoi les "web servicese" ?
Messages postés
32403
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 mai 2021
347
Un webservice c'est une api... une interface... une passerelle (appelle ça comme tu veux )

bon.. en gros... plutôt que d'attaquer directement ta bdd depuis un logiciel, tu vas interroger un script qui se trouve sur le serveur de la bdd et c'est lui qui s'occupe des échanges avec la bdd.
C'est, par exemple, le cas si tu veux utiliser une API de "geolocalisation" comme google ou celle du gouv : https://adresse.data.gouv.fr/api

Schéma : https://www.sodifrance.fr/blog/wp-content/uploads/2015/08/WS1.png

Dans ton cas... tu créés un script (en php par exemple) qui tu ira interroger depuis ton application VB et c'est ce script qui ira lire/ecrire les données dans ta base.
C'est comme ça que sont développées la majorité des applications (enfin....sauf celles réalisées par des néophytes devrais-je dire).

Les formats d'échanges les plus utilisés étant le XML et, plus récent et plus simple.. le format JSON )
Messages postés
153
Date d'inscription
dimanche 27 août 2006
Statut
Membre
Dernière intervention
26 décembre 2019

Bonjour,
Merci pour ces informations détaillées
Effectivement, c'est une alternative intéressante

Mais j'aimerai quand même comprendre pourquoi je ne peux ouvrir la base sur WAMP
Messages postés
32403
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 mai 2021
347
Je vois que tu as utilisé le port 8080 ..... pourquoi ???
Le port 8080 est celui utilisé par apache (pour le php) que tu as du changé car tu avais sûrement un conflit sur le port 80.
Ca n'a AUCUN rapport avec la bdd

Mysql écoute sur le port 3306
MysqlConn.ConnectionString = "Server=localhost;Database=dbasorco;Uid=root;Pwd=;Port=3306"


Si ça ne fonctionne pas, tu peux essayer
MysqlConn.ConnectionString = "Server=127.0.0.1;Database=dbasorco;Uid=root;Pwd=;Port=3306"


Dans l'idéal.. on n'utilise pas le compte root dans des applis.
A la place, tu dois créer un utiliser spécifique (utilisateur mysql je veux dire hein.. ).
Depuis heidisql il est simple (très simple même ) de créer un utilisateur et de lui donner les droits sur ta bdd.
(pense à créer le user sur "localhost" ET le même sur "%"







Messages postés
153
Date d'inscription
dimanche 27 août 2006
Statut
Membre
Dernière intervention
26 décembre 2019

Merci pour cette aide, et ces informations détaillées
J'ai repris les deux propositions pour ConnectionString, mais aucune ne marche !
Messages postés
32403
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 mai 2021
347
Donc tu as créé un user spécifique ?
Tu as dupliqué ce user pour l'avoir sur le host : localhost ET sur le host % ?
Tu as testé que la connexion de ce user fonctionnait avec heidsql ?
Et tu as changé ta chaine de connexion en utilisant ce user ?

Et le souci persiste ??
Messages postés
32403
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 mai 2021
347
Messages postés
153
Date d'inscription
dimanche 27 août 2006
Statut
Membre
Dernière intervention
26 décembre 2019

Oui, j'ai créé un user comme indiqué, sur les deux
Idem hélas ….
Je vais voir le lien
Encore merci