Einzelnen Beitrag anzeigen

MarsdeBu

Registriert seit: 8. Feb 2019
3 Beiträge
 
#1

Delphi und MariaDB aus dem XAMPP-Paket

  Alt 8. Feb 2019, 17:43
Datenbank: MariaDB • Version: 10.1.16 • Zugriff über: TSQLConnection
Hallo, ich möchte auf die mit php geschriebene Datenbank aus dem XAMPP-Paket zugreifen.
Das BS ist Windows 10 64 bit, das XAMPP und die DB sowie Delphi sind 32 bit.

Über ODBC und BDE habe ich die Verbindung schnell hinbekommen. Nun habe ich mir Delphi 10.3 geholt (BDE muß man nachinstallieren, und dann über Komponente|Packages installieren die dclbde240.bpl eintragen) und möchte das auf SQLConnection - die ja eigentlich für SQL-DB zuständig ist, umstellen. Allerdings bekomme ich nur die Meldung

DBX-Fehler: Der Treiber konnte nicht korrekt initialisiert werden. usf.

Die DB liegt auf einer anderen Partition in T:\xampp\mysql\bin ; die ODBC-Treiber und Connectoren habe ich extra geholt, und sie haben sich in "C:\Program Files (x86)\MariaDB\MariaDB Connector C\lib\libmariadb.dll" installiert. Die Bibliothek heißt also libmariadb.dll und nicht libmysql.dll.
Nach etwas Suchen habe ich den Daten-Explorer gefunden; er startet nicht wie angegeben durch Doppelclick auf die SQLConnection, sondern über Ansicht|Tool-Fenster->Daten-Explorer, oder indem man unten im Projekt-Fenster "Daten-Explorer" auswählt. Durch Rechtsclick auf SQL kann man eine neue Verbindung eintragen und durch Rechtsclick darauf diese Ändern.

Nun auf Erweitert clicken und in den Einträgen der Verbindung die libmysql.dll durch libmariadb.dll ersetzen.

Der Connector hat im Pfad "C:\Program Files (x86)\MariaDB\MariaDB Connector C\lib\" (und weiteres) eingetragen, und außerdem habe ich diese ins Programmverzeichnis kopiert und dort nochmal als libmysql.dll kopiert.

Leider läuft das nicht - im Verbindungs-Editor ist eine Funktion "Verbindung testen" und die gibt o.g. Fehlermeldung.

Der Verbindungsstring ist
DriverName=MySQL;DriverUnit=Data.DBXMySQL;DriverPa ckageLoader=TDBXDynalinkDriverLoader,DbxCommonDriv er260.bpl;DriverAssemblyLoader=Borland.Data.TDBXDy nalinkDriverLoader,Borland.Data.DbxCommonDriver,Ve rsion=24.0.0.0,Culture=neutral,PublicKeyToken=91d6 2ebb5b0d1b1b;MetaDataPackageLoader=TDBXMySqlMetaDa taCommandFactory,DbxMySQLDriver260.bpl;MetaDataAss emblyLoader=Borland.Data.TDBXMySqlMetaDataCommandF actory,Borland.Data.DbxMySQLDriver,Version=24.0.0. 0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b; LibraryName=dbxmys.dll;LibraryNameOsx=libsqlmys.dy lib;VendorLib=libmariadb.dll;VendorLibWin64=libmar iadb.dll;VendorLibOsx=mariadbclient.lib;Database=m s_adr;User_Name=root;MaxBlobSize=-1;LocaleCode=0000;Compressed=False;Encrypted=False ;BlobSize=-1;ErrorResourceFile=

Vielleicht weißjemand ... ?

Grüße, MarsdeBu
  Mit Zitat antworten Zitat