Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Embarcadero Delphi 10.1 Berlin, MySQL-Treiberfehler (https://www.delphipraxis.net/189593-embarcadero-delphi-10-1-berlin-mysql-treiberfehler.html)

wodim 28. Jun 2016 12:08

Datenbank: MySQL • Version: 5.5 • Zugriff über: Netzwerk

Embarcadero Delphi 10.1 Berlin, MySQL-Treiberfehler
 
Hallo,

ich versuche in der IDE einen ersten Verbindungsaufbau zu meinem MySQL-Server. Die IDE läuft unter Windows auf einer VM, der MySQL-Server auf dem Hostsystem (Debian), die Netzwerkverbindung zwischen Gast und Host funktioniert (der Zugriff auf den Server von anderen Clients auch), auf dem Server ist der DB-User angelegt, dessen Daten ich eingetragen habe ("TSQLConnection" aus der Kategorie "dBExpress"). Ich setze "Connected" auf "True" - da kommt der Anmeldedialog, ich tippe das Passwort ein, da kommt die Fehlermeldung:

"DBX-Fehler: Der Treiber konnte nicht korrekt initialisiert werden. Die Client-Bibliothek könnte fehlen, nicht ordnungsgemäß installiert sein, eine falsche Version haben, oder der Treiber fehlt möglicherweise im Systempfad ..."

Hm, das sind nun 3 von vielleicht vielen Möglichkeiten. :wink: Bitte um gezielte Fehlersuchhinweise. Danke im Voraus.

Neutral General 28. Jun 2016 12:11

AW: Embarcadero Delphi 10.1 Berlin, MySQL-Treiberfehler
 
Hast du die 3 aufgelisteten Möglichkeiten denn mal überprüft? :stupid:

MEissing 28. Jun 2016 12:25

AW: Embarcadero Delphi 10.1 Berlin, MySQL-Treiberfehler
 
LIBMYSQL.DLL fehlt/ist am falschen Platz.

wodim 28. Jun 2016 12:26

AW: Embarcadero Delphi 10.1 Berlin, MySQL-Treiberfehler
 
Zitat:

Zitat von Neutral General (Beitrag 1341350)
Hast du die 3 aufgelisteten Möglichkeiten denn mal überprüft? :stupid:

Ok, weitere Fragen dazu (als Delphi-Neuling, der außerdem seit Jahren "systemmäßig" fast nur mit Linux arbeitet, also etwas Windows-entwöhnt ist). :wink:

"der Treiber fehlt möglicherweise im Systempfad"

Was ist der Treiber, wo muss er stehen (Windows7, 64bit)?

"Die Client-Bibliothek könnte fehlen, nicht ordnungsgemäß installiert sein, eine falsche Version haben,..."

- Was ist die Client-Bibliothek (ich nehme an, eine "libmysql.dll")?
- Wo muss sie stehen, wie stelle ich fest, ob sie richtig installiert ist und die richtige Version hat?

Ein Problem: Es gibt (mindestens) 2 Systempfade, C:\Windows\System32 und C:\Windows\SysWOW64, also schon 4 verschiedene Möglichkeiten der Registrierung mit "regsvr32" ...

Sir Rufo 28. Jun 2016 12:29

AW: Embarcadero Delphi 10.1 Berlin, MySQL-Treiberfehler
 
Zitat:

Zitat von wodim (Beitrag 1341355)
Ein Problem: Es gibt (mindestens) 2 Systempfade, C:\Windows\System32 und C:\Windows\SysWOW64, also schon 4 verschiedene Möglichkeiten der Registrierung mit "regsvr32" ...

Kein Problem, sondern anscheinend eine Wissenslücke deinerseits.

Diese beiden Pfade beherbergen jeweils die x64 (system32) und x32 (SysWOW64) Versionen. Welche du benötigst, hängt von der Bitness deiner Anwendung ab.

Ist die x32 oder x64?
  • Bei x32 sucht deine Anwendung im SysWOW64 nach der dll (weil die x32 Version der dll benötigt wird)
  • Bei x64 sucht deine Anwendung im system32 nach der dll (weil die x64 Version der dll benötigt wird)

wodim 28. Jun 2016 12:37

AW: Embarcadero Delphi 10.1 Berlin, MySQL-Treiberfehler
 
Zitat:

Zitat von Sir Rufo (Beitrag 1341356)
Zitat:

Zitat von wodim (Beitrag 1341355)
Ein Problem: Es gibt (mindestens) 2 Systempfade, C:\Windows\System32 und C:\Windows\SysWOW64, also schon 4 verschiedene Möglichkeiten der Registrierung mit "regsvr32" ...

Kein Problem, sondern anscheinend eine Wissenslücke deinerseits.

Sicher, und die hab' ich ja schon versucht zu schließen. Was ich dazu im Netz gefunden habe, war aber eher verwirrend. :wink:

Zitat:

Zitat von Sir Rufo (Beitrag 1341356)
Diese beiden Pfade beherbergen jeweils die x64 (system32) und x32 (SysWOW64) Versionen.

Z.B. das. Das muss man natürlich wissen. Ich hab' genau andersrum gedacht. Und auch schon mit verschiedenen Versionen in beiden Pfaden probiert ... :wink:

Zitat:

Zitat von Sir Rufo (Beitrag 1341356)
Welche du benötigst, hängt von der Bitness deiner Anwendung ab. Ist die x32 oder x64?

Aktuell 64bit, es sollen aber beide funktionieren.

mkinzler 28. Jun 2016 12:40

AW: Embarcadero Delphi 10.1 Berlin, MySQL-Treiberfehler
 
Dann benötigst Du beide Dlls an jeweils dem richtigen Ort.

wodim 28. Jun 2016 12:47

AW: Embarcadero Delphi 10.1 Berlin, MySQL-Treiberfehler
 
Zitat:

Zitat von mkinzler (Beitrag 1341361)
Dann benötigst Du beide Dlls an jeweils dem richtigen Ort.

Klar. Muss mich auch korrigieren: Im System32 steht (noch) gar keine. In SysWOW64 jetzt nach meinen Download- und Registrierungsexperimenten "irgendeine", damit kommt aber, wenn ich auf 32bit umstelle, dieselbe Fehlermeldung ...

wodim 28. Jun 2016 13:40

AW: Embarcadero Delphi 10.1 Berlin, MySQL-Treiberfehler
 
Zitat:

Zitat von wodim (Beitrag 1341363)
Zitat:

Zitat von mkinzler (Beitrag 1341361)
Dann benötigst Du beide Dlls an jeweils dem richtigen Ort.

Klar. Muss mich auch korrigieren: Im System32 steht (noch) gar keine. In SysWOW64 jetzt nach meinen Download- und Registrierungsexperimenten "irgendeine"...

Da steht also offensichtlich eine falsche Version im falschen Verzeichnis. :wink: Hab' sie mal 'rüberkopiert nach System32, aber sie lässt sich nicht registrieren. ("Das Modul libmysql.dll wurde geladen, aber der DLLRegisterServer-Eingangspunkt wurde nicht gefunden.")

Was nun? (Ja, ich weiß, ich hätte vorher fragen sollen, statt zu experimentieren. :wink: Mit "regsvr32" ist's ja dasselbe, was die Systemverzeichnisse betrifft) ...

Also Hilferuf: Wo bekomme ich die richtigen Versionen her (welche sind überhaupt die richtigen für Windows 7, die mit MySQL-Server-Version 5.5 klarkommen)?

Um erst mal probeweise auf Kommandozeilenebene mit MySQL arbeiten zu können, hab' ich's zuletzt mit "mysql-connector-c-6.1.6-winx64.msi" versucht (daher stammt auch diese libmysql.dll) - also wohl so ziemlich alles falsch gemacht, was man falsch machen kann. :wink:

MEissing 16. Aug 2016 08:57

AW: Embarcadero Delphi 10.1 Berlin, MySQL-Treiberfehler
 
Die LIBMYSQL.DLL muss nicht registriert werden (das ist für COM-Objekte in DLLs erforderlich... aber nicht für einfache DLLs)

Du brauchst auf jeden Fall die richtige DLL (Windows 64-Bit):
Die 32 Bit LIBMYSQL für die IDE (im SYSWOW64 Verzeichnis)
Die 64 Bit DLL für Anwendungen, die 64 bittig kompiliert werden (im SYSTEM32 Verzeichnis)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:03 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