Page 1 sur 1

Executer code en mode console avec Mariadb - debian 9

Publié : lun. 15/avr./2019 19:53
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 .

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

Publié : mar. 16/avr./2019 7:44
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:

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

Publié : mar. 16/avr./2019 10:42
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.....

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

Publié : mar. 16/avr./2019 10:57
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

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

Publié : mar. 16/avr./2019 12:55
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:

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

Publié : mer. 17/avr./2019 20:21
par AltarVinci
Superbe.

Merci encore pour ton aide :D