Page 1 sur 1

[RESOLU]Erreur de connexion MySqlDataBase

Publié : sam. 20/mars/2021 14:30
par omega
Bonjour,

Je crois qu'il y a un problème au niveau de la syntaxe (opendatabase). J'utilise MySqlDatabase (2 postes en réseau local, le host est utilisé en même temps comme utilisateur client), donc 2 pc , 2 utilisateurs. Ma base de données se trouve sur le Pc1 (serveur) dans d:/MaBase1.db et une deuxième bdd dans d:/MaBase2.db
je teste l'exemple (pour la 1ère fois) pour ouvrir la base MaBase1.db (pour l'instant)

Code : Tout sélectionner

If OpenDatabase(0, "host=localhost port=3306 dbname=MaBase1", "User1", "123456")
    Debug "Connecté à MySQL"
  Else
    Debug "La connexion a échoué: "+DatabaseError()
  EndIf
Pourquoi cette erreur selon vous? (connexion échoué)

Merci

Re: Erreur de connexion MySqlDataBase

Publié : sam. 20/mars/2021 14:41
par Mindphazer
Déjà en premier lieu, il faut ajouter à la commande OpenDataBase le plugin à utiliser : #PB_Database_MySQL dans ton cas
Ou bien ajouter avant ta commande d'ouverture l'instruction

Code : Tout sélectionner

UseMySQLDatabase()

Re: Erreur de connexion MySqlDataBase

Publié : sam. 20/mars/2021 14:50
par Marc56
Ma base de données se trouve sur le Pc1 (serveur)
host=localhost
connexion échoué
localhost n'est pas un nom d'hôte, mais une interface réseau locale virtuelle (appelée loopback)
Donc le pc 2 ne pourra pas accéder au pc1, à part si tu changes localhost par l'ip de pc1 (192.168.x.x) dans pc2
https://fr.wikipedia.org/wiki/Localhost
:wink:

Re: Erreur de connexion MySqlDataBase

Publié : sam. 20/mars/2021 17:54
par omega
UseMySQLDatabase() existe évidemment

Je viens de modifier la valeur du host. Même résultat (connexion échouée)

Code : Tout sélectionner

  If OpenDatabase(0, "host=127.0.0.1 port=3306 dbname=MaBase1", "User1", "123456")
    Debug "Connecté à MySQL"
  Else
    Debug "La connexion a échoué: "+DatabaseError()
  EndIf 

Re: Erreur de connexion MySqlDataBase

Publié : sam. 20/mars/2021 18:33
par case
bonjour omega,

127.0.0.1
c'est pareil que localhost...

ca se connecte sur le même pc.
si ta base est sur un autre pc, tu dois noter l'adresse ip du pc ou se trouve la base.

sur un réseau local souvent les ip sont du type 192.168.0.xxx ou 192.168.1.xxx mais cela peux changer. xxx peut etre une valeur de 1 a 255.
une des ip est utilise par la box/routeur comme son adresse propre ( passerelle )

sous windows du peux taper sur le pc ou se trouve la base bien sur

dans le menu demarrer : cmd
puis ipconfig
ce qui nous interesse est

Code : Tout sélectionner

    Adresse IPv4. . . . . . . . . . . . . .: 192.168.0.43     <----------------- ADRESSE IP DU PC

sachant qu'elle peux changer si tu redémarre le pc par exemple a moins d'avoir spécifié une ip fixe dans la configuration de ton routeur.

Re: Erreur de connexion MySqlDataBase

Publié : sam. 20/mars/2021 18:44
par omega
Merci case pour ces précieuses informations, je reviendrais après les tests

Re: Erreur de connexion MySqlDataBase

Publié : sam. 20/mars/2021 22:23
par omega
Jusqu'à présent, tout fonctionne, il me reste maintenant à passer à la 3ème étape.

Le code :

Code : Tout sélectionner

If OpenDatabase(0, "host=127.0.0.1 port=3306 dbname=elevage", "root", "123456")
   Debug "Connecté à MySQL"
  Else
    Debug "La connexion a échoué: "+DatabaseError()
  EndIf
 
a marché sans erreur. ok

Maintenant pour mes différentes bases de données sqlite qui existent et qui contiennent des données, dois-je les convertir en Sql?? Je dis bien Bdd + le contenu des tables, je suppose que MariaDB ne reconnait pas les tables sqlite?
Sinon, que dois-je porter comme changement au niveau de la syntaxe de manipulation des tables ??

Merci encore pour votre aide