Bonjour,
J'ai une VM (virtualbox) où j'ai monté une Debian 11 64 bits avec un serveur MySQL 8 (composants serveur et client).
Depuis la Debian, j'accède à MySQL et aux différentes bases.
Depuis l'hôte, j'accède avec l'outil HeidiSQL, à MySQL et aux différentes bases.
J'ai les liens symboliques qui théoriquement permettent d'utiliser la bibliothèque cliente (du plus générique à la bibliothèque installée):
- /usr/lib/x86_64-linux-gnu/libmysqlclient.so (lien vers le suivant)
- /usr/lib/x86_64-linux-gnu/libmysqlclient.so.21 (lien vers la bilbliothèque)
- /usr/lib/x86_64-linux-gnu/libmysqlclient.so.21.2.27 (bibliothèque installée)
J'ai une application Delphi 10.4.2 Linux 64 bits qui est est censée se connecter à une des bases MySQL avec FireDAC.
J'obtiens l'erreur suivante :
[FireDAC][Phys][MySQL]-314. Cannot load vendor library [libmysqlclient.so, libmariadb or libmysqld.so]. Hint: check it is in the PATH or application EXE directories, and has x64 bitness.
Complément du soir : j'ai testé en indiquant dans la propriété VendorLib de l'objet de type TFDPhysMySQLDriverLink, le chemin absolu vers la bibliothèque :
[FireDAC][Phys][MySQL]-314. Cannot load vendor library [/usr/lib/x86_64-linux-gnu/libmysqlclient.so.21.2.27]. Hint: check it is in the PATH or application EXE directories, and has x64 bitness.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure Tmysql.DataModuleCreate(Sender: TObject); begin {$IFDEF LINUX} //FDPhysMySQLDriverLink1.VendorLib := './libmysqlclient.so'; FDPhysMySQLDriverLink1.VendorLib := '/usr/lib/x86_64-linux-gnu/libmysqlclient.so.21.2.27'; Writeln('VendorLib: ' + FDPhysMySQLDriverLink1.VendorLib); {$ENDIF} end;
La même application en environnement Windows 64 bits fonctionne...
Une idée ?
Partager