Entwickler-Ecke

Datenbanken - Delphi10.4(Tokyo) und mySQL8 mit Zeos 7.2.8


jjturbo - Do 26.11.20 11:39
Titel: Delphi10.4(Tokyo) und mySQL8 mit Zeos 7.2.8
Moin Forum,

ich habe mir eine neue Delphi Version(10.4) angelegt und mySQL Server 8.0.22(x64) sowie den mySQL Connector/ODBC(x64) und die Zeos Kompos(7.2.8-release) installiert.
Wenn ich jetzt zum Beispiel eine neue VCL Anwendung erzeuge und nur eine TZConnection auf die Form ziehe, die passenden Verbindungsparameter eingebe und versuche zu verbinden bekomme ich immer eine Fehlermeldung:

"None of the dynamic libraries can be found or is not loadable: libmysql57.dll, libmysql56.dll, libmysql55.dll, libmysql51.dll, libmysql50.dll, libmariadb.dll, libmysql.dll !
Use TZConnection.LibraryLocation if the location is invalid."

Ich habe schon alles mögliche versucht, 32/64 Bit, auch mal die alte Version von mySQL(5.7) installiert, es klappt einfach nicht.
ODBC Quelle klappt sofort.
Jemand eine Idee?


Th69 - Do 26.11.20 12:03

Hallo,

die Fehlermeldung ist doch eindeutig.
Ist der Pfad zur zugehörigen DLL in der Umgebungsvariablen "Path" eingetragen? Oder setze TZConnection.LibraryLocation entsprechend (bzw. lies mal aus, ob der Pfad korrekt ist).


jjturbo - Do 26.11.20 12:22

Hatte ich auch schon mal probiert, dann kommt diese Fehlermeldung:
"Client-Library C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.dll found but could not be loaded. Check compile-target and library compatibility!."

Deshalb hatte ich ja auch mal die alte 32 Bit Version installiert.


jaenicke - Do 26.11.20 12:51

Vielleicht hängt es auch an einer Abhängigkeit der DLL. Du könntest einmal schauen was der Process Monitor [https://docs.microsoft.com/en-us/sysinternals/downloads/procmon] sagt. Vielleicht wird ja noch eine andere DLL gesucht oder ähnliches.

Die genannte DLL scheint ja eine 64-Bit DLL zu sein, so dass deine Anwendung als 64-Bit Version schon richtig wäre.

Aber:
Wenn du in der IDE verbinden möchtest, brauchst du natürlich die 32-Bit DLL, weil die IDE ein 32-Bit Programm ist!

Hast du es mal ohne die IDE im Programm versucht? Es klingt so als hättest du es nur in der IDE versucht.


jjturbo - Do 26.11.20 13:12

Es ist egal ob ich als 32 oder 64 Bit Variante compiliere, auch zur Laufzeit kommt immer der gleiche Fehler.


jaenicke - Do 26.11.20 13:26

Dann ist wirklich die Frage was beim Laden der DLLs passiert. So etwas kann man nur mit dem Process Monitor sinnvoll (sprich mit überschaubarem Aufwand) prüfen.