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
A voir également:
Wamp visual studio code
Mettre à jour include path visual studio code - Meilleures réponses
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.
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
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
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.....
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
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 )
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
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 "%"
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 ?
18 nov. 2018 à 08:38
Sous wamp, le compte root utilise, par défaut, un password vide. Donc c'est normal.
18 nov. 2018 à 19:47
Là le PassWord est vide ( les 2 guillemets après le signe = )
18 nov. 2018 à 20:21
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.
18 nov. 2018 à 20:23