Fragen zu MySQL Server (FireDAC)

Aus RAD Studio
Wechseln zu: Navigation, Suche

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.