Fragen zu MySQL Server (FireDAC)
Nach oben zu FAQ (FireDAC)
Dieses Thema enthält eine Liste mit Fragen und Antworten zu MySQL Server.
F1: Gibt es eine Möglichkeit, die Funktion mysql_thread_id aus der MySQL-C-API in FireDAC zu verwenden?
A: Ja, aber diese Möglichkeit ist ziemlich komplex:
- FDConnection1.ConnectionIntf.Driver.CliObj - gibt einen Verweis auf TMySQLLib zurück.
- FDConnection1.ConnectionIntf.CliObj - gibt einen Verweis auf das TMySQLSession-Objekt zurück, das die Eigenschaft MySQL hat.
- Beides kombiniert:
uses
FireDAC.Phys.MySQLCli, FireDAC.Phys.MySQLWrapper;
...
with FDConnection1.ConnectionIntf do
TMySQLLib(Driver.CliObj).mysql_thread_id(TMySQLSession(CliObj).MySQL);
F2: Beim Aktualisieren eines BLOB-Feldes in MySQL mit Daten, die größer als 512 KB sind, tritt der Fehler "MySQL server has gone away" (Verbindung zum MySQL-Server aufgehoben) auf.
A: Siehe http://dev.mysql.com/doc/refman/5.0/en/gone-away.html; hier wird vorgeschlagen, max_allowed_packet zu erhöhen.
F3: Ist es möglich, eine SSL-Verbindung zu einem MySQL-Server herzustellen?
A: Ja, das ist möglich. Siehe Herstellen einer Verbindung zu MySQL Server durch Verwenden einer sicheren Verbindung.
F4: Warum bleibt die Anwendung beim Beenden ein paar Sekunden hängen? Ich verwende nur die MySQL-Verbindung.
A: Wenn Ihre Anwendung Threads erstellt, kann dieses Problem bei "libmysql.dll", Version 5.x, auftreten. Einzelheiten finden Sie unter http://bugs.mysql.com/bug.php?id=37226. Versuchen Sie zur Lösung dieses Problems, alle Threads vor dem Schließen der Anwendung zu beenden.