Visual Studio 2008 Visual Basic connect WAMP

Messages postés
117
Date d'inscription
dimanche 27 août 2006
Dernière intervention
20 novembre 2018
-
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
Afficher la suite 

Votre réponse

9 réponses

Messages postés
1719
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 décembre 2018
0
Merci
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 )
jordane45
Messages postés
23525
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 décembre 2018
-
Hello
Sous wamp, le compte root utilise, par défaut, un password vide. Donc c'est normal.
vb95
Messages postés
1719
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 décembre 2018
-
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 = )
jordane45
Messages postés
23525
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 décembre 2018
> vb95
Messages postés
1719
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 décembre 2018
-
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.
vb95
Messages postés
1719
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 décembre 2018
-
quelle bourde ! Merci jordane45
Commenter la réponse de vb95
Messages postés
117
Date d'inscription
dimanche 27 août 2006
Dernière intervention
20 novembre 2018
0
Merci
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
Commenter la réponse de scn68100
Messages postés
23525
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 décembre 2018
0
Merci
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.....




Commenter la réponse de jordane45
Messages postés
117
Date d'inscription
dimanche 27 août 2006
Dernière intervention
20 novembre 2018
0
Merci
Bonjour,
Merci Je vais essayer Heidisql, et je rendrais compte
Commenter la réponse de scn68100
Messages postés
117
Date d'inscription
dimanche 27 août 2006
Dernière intervention
20 novembre 2018
0
Merci
Voila, j'ai testé avec Heidisql et aucune erreur
C'est quoi les "web servicese" ?
jordane45
Messages postés
23525
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 décembre 2018
-
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 )
Commenter la réponse de scn68100
Messages postés
117
Date d'inscription
dimanche 27 août 2006
Dernière intervention
20 novembre 2018
0
Merci
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
jordane45
Messages postés
23525
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 décembre 2018
-
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 "%"







Commenter la réponse de scn68100
Messages postés
117
Date d'inscription
dimanche 27 août 2006
Dernière intervention
20 novembre 2018
0
Merci
Merci pour cette aide, et ces informations détaillées
J'ai repris les deux propositions pour ConnectionString, mais aucune ne marche !
jordane45
Messages postés
23525
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 décembre 2018
-
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 ??
Commenter la réponse de scn68100
Messages postés
23525
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 décembre 2018
Commenter la réponse de jordane45
Messages postés
117
Date d'inscription
dimanche 27 août 2006
Dernière intervention
20 novembre 2018
0
Merci
Oui, j'ai créé un user comme indiqué, sur les deux
Idem hélas ….
Je vais voir le lien
Encore merci
Commenter la réponse de scn68100

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.