[RESOLU]Erreur de connexion MySqlDataBase

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
omega
Messages : 617
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

[RESOLU]Erreur de connexion MySqlDataBase

Message 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
Dernière modification par omega le sam. 03/avr./2021 16:28, modifié 1 fois.
Win7 (x64) 64 bits Pb 5.72
Avatar de l’utilisateur
Mindphazer
Messages : 635
Inscription : mer. 24/août/2005 10:42

Re: Erreur de connexion MySqlDataBase

Message 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()
Bureau : Win10 64bits
Maison : Macbook Pro M1 14" SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Marc56
Messages : 2145
Inscription : sam. 08/févr./2014 15:19

Re: Erreur de connexion MySqlDataBase

Message 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:
Avatar de l’utilisateur
omega
Messages : 617
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

Re: Erreur de connexion MySqlDataBase

Message 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 
Win7 (x64) 64 bits Pb 5.72
Avatar de l’utilisateur
case
Messages : 1527
Inscription : lun. 10/sept./2007 11:13

Re: Erreur de connexion MySqlDataBase

Message 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.
ImageImage
Avatar de l’utilisateur
omega
Messages : 617
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

Re: Erreur de connexion MySqlDataBase

Message par omega »

Merci case pour ces précieuses informations, je reviendrais après les tests
Win7 (x64) 64 bits Pb 5.72
Avatar de l’utilisateur
omega
Messages : 617
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

Re: Erreur de connexion MySqlDataBase

Message 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
Win7 (x64) 64 bits Pb 5.72
Répondre