AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi und MariaDB aus dem XAMPP-Paket
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi und MariaDB aus dem XAMPP-Paket

Offene Frage von "MarsdeBu"
Ein Thema von MarsdeBu · begonnen am 8. Feb 2019 · letzter Beitrag vom 14. Feb 2019
Antwort Antwort
MarsdeBu

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

Delphi und MariaDB aus dem XAMPP-Paket

  Alt 8. Feb 2019, 18: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
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.081 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Delphi und MariaDB aus dem XAMPP-Paket

  Alt 8. Feb 2019, 19:05
Was sagt ODBCAD32 zu dem Treiber?

(Anmerkung: Die standardmäßig aufgerufene odbcad32 in system32 ist, wie der Name schon sagt, die 64-Bit-Version, während die 32-Bit-Version in SysWOW64 liegt.)
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
380 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Delphi und MariaDB aus dem XAMPP-Paket

  Alt 8. Feb 2019, 19:13
Was sagt ODBCAD32 zu dem Treiber?

(... odbcad32 in system32 ist, wie der Name schon sagt, die 64-Bit-Version,...)
Also, mir hätte das der Name nicht gesagt
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Delphi und MariaDB aus dem XAMPP-Paket

  Alt 9. Feb 2019, 09:48
SysWOW64 = 32-Bit
System32 = 64-Bit

Das war ein Glanzleistung von MS, wie man zu dieser Schlüssigen Namensgebung gekommen ist.
Ich vermute der Entscheider für die Namensgebung hängt bei MS in der "Hall of Fame"
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
MarsdeBu

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

AW: Delphi und MariaDB aus dem XAMPP-Paket

  Alt 9. Feb 2019, 19:40
Die Festlegung de Namens ist schon einige Jahre her, siehe
"18 Milliarden Gigabyte ...oder: Wer braucht 64 Bit? c't 13/2001 142"
Damals schien es einfach, die 64-bit-Systemdateien in Sys32 zu lassen und für die 32-bit-Dateien das Verzeichnis SysWoW64 einzuführen. Heute ist das verwirrend, man muß um die Ecke denken. Das muß man in anderen Fachrichtungen auch, aber erst, wenn es viiiel länger her ist.

Unter Win_7 war ich nach den Clicken der ODBC-Verwaltung verwundert, daß dort keine Treiber eingetragen sind, und dadurch bin ich dahinter gekommen, daß das die 64-bit-Verwaltung ist, und habe die 32-bit-Verwaltung nachträglich ins Menü eingetragen. Unter Win10 allerdings sind beide Verwaltungen im Menü unter Windows-Verwaltungsprogramme vorhanden.
Mir gefällt das lange Menü überhaupt nicht, mal sehn, wann ich ...

Da das mit der ODBC-Datenquelle funktioniert, ist klar, daß das der richtige Treiber ist.
  Mit Zitat antworten Zitat
Benutzerbild von Guido R.
Guido R.

Registriert seit: 5. Jul 2007
141 Beiträge
 
Delphi 12 Athens
 
#6

AW: Delphi und MariaDB aus dem XAMPP-Paket

  Alt 10. Feb 2019, 18:31
Bist Du bei Deiner Entwicklung an tSQLConnection gebunden?

Auf eine Datenbank mittels DLLs und ODBC zuzugreifen macht, meiner Erfahrung nach, immer wieder Probleme.
Wenn Du FireDAC verwendest, brauchst Du nur die lib, bei MyDAC kannst Du selbst darauf verzichten.
  Mit Zitat antworten Zitat
MarsdeBu

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

AW: Delphi und MariaDB aus dem XAMPP-Paket

  Alt 14. Feb 2019, 18:29
Ich schaue erstmal ob das funktioniert. Mit ODBC ging das ganz gut, ich könnte auch damit weitermachen. Was unter ODBC nicht funktioniert hat, ist stmtParams.CreateParam(ftString, ***); aber mit Integer geht es. Nun hätte mich interessiert, ob das am ODBC liegt oder ob die MariaDB das nicht kann.
In der Doku steht "Mit dbExpress können Sie eine Verbindung zu InterBase-, Oracle-, MS SQL-, Informix-, DB2-, Sybase- und MySQL-Datenbanken herstellen." Bisher hat aber noch keiner geschrieben, daß das funzt. Wie sieht es mit den anderen DBs aus, kann dbExpress die oder ist das generell buggy? Eigentlich sollten die das doch austesten, bevor ...

Grüße, M.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz