Executer code en mode console avec Mariadb - debian 9

Codes specifiques à Linux
AltarVinci
Messages : 4
Inscription : lun. 15/avr./2019 19:40

Executer code en mode console avec Mariadb - debian 9

Message par AltarVinci »

Bonsoir,

Je suis nouveau et besoin d'un coup de pousse.
Je me suis fait un programme d'analyse sous Purebasic en mode console qui utilise une base Mariadb.
Sous windows je n'ai pas de souci. Compilation + copie de la librairie libmariadb.dll dans le répertoire et bingo tout fonctionne.

Mais sous linux en mode shell impossible de me connecter sur ma base.
Compilation Ok
Copie de la librairie "libmariadb.so" dans le répertoire mais j'ai une erreur
Impossible de ce connecté à la BD
.
La commande

Code : Tout sélectionner

UseMySQLDatabase()
me renvoi un ZERO pointé!!!

J'ai fait quelques recherches dans le forum sans résultat.

Merci d'avance du coup de pousse :D .
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: Executer code en mode console avec Mariadb - debian 9

Message par Marc56 »

AltarVinci a écrit : Copie de la librairie "libmariadb.so" dans le répertoire mais j'ai une erreur "Impossible de ce connecté à la BD"
La commande

Code : Tout sélectionner

UseMySQLDatabase()
me renvoi un ZERO pointé!!!
Tu as bien mis le chemin complet pour la lib ?
À savoir si tu veux utiliser celle dans le répertoire de ton application linux à la place de celle du système.

./libmariadb.so

Un système unix/linux n'a pas de 'path' sur le répertoire en cours (c'est une sécurité mise par défaut).
On peut changer en ajoutant '.' à la variable $PATH mais c'est déconseillé.

PS. Selon la configuration linux, 'localhost' n'est pas toujours mappé sur '127.0.0.1'.
L'exemple de la doc peut ne pas fonctionner. Préférer l'IP ou renseigner /etc/hosts:
OpenDatabase(0, "host=127.0.0.1 port=3306 dbname=test", "mysql", "mysql")

:wink:
AltarVinci
Messages : 4
Inscription : lun. 15/avr./2019 19:40

Re: Executer code en mode console avec Mariadb - debian 9

Message par AltarVinci »

Bonjour,

Je n'ai pas fait de configuration au niveau de la "lib"!!
J'ai installer Purebasic à la main (ou avec mes pieds aussi :lol: )
Le répertoire "compiler" est ajouter au $PATH donc normalement avec les "libs"?
Ou faut-il ajouter aussi les "libs" Purebasic au "LIB" genérale?

Je souhaite utiliser la "lib" du répertoire courant de mon application.
Comment dois je procceder?

J'ai effectivement bien utiliser l'adresse IP, plus sur à mon goût pour arriver à destination...

Merci encore

Linux c'est comme une boîte de pandore faut savoir l'ouvrir, mais surtout la refermer.....
AltarVinci
Messages : 4
Inscription : lun. 15/avr./2019 19:40

Re: Executer code en mode console avec Mariadb - debian 9

Message par AltarVinci »

Re moi,

Je viens de transferer la librairie "libmariadb.so" dans "/usr/lib/".
Bon cela fonctionne.
Juste une histoire de configuration de "lib" :?

Ma question concernant:
Utiliser la "lib" du répertoire courant de l'application, comment fait on?

Merci pour m'avoir éclairer. :P
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: Executer code en mode console avec Mariadb - debian 9

Message par Marc56 »

Utiliser la "lib" du répertoire courant de l'application, comment fait on?
ProgramFilename() donnant le nom complet du programme en cours, il suffit de prendre son path et d'ajouter la lib

Code : Tout sélectionner

UseMySQLDatabase( GetPathPart( ProgramFilename() ) + "/libmariadb.so" )
:wink:
AltarVinci
Messages : 4
Inscription : lun. 15/avr./2019 19:40

Re: Executer code en mode console avec Mariadb - debian 9

Message par AltarVinci »

Superbe.

Merci encore pour ton aide :D
Répondre