Questions relatives à MySQL Server (FireDAC)

De RAD Studio
Aller à : navigation, rechercher

Remonter à FAQ (FireDAC)

Cette rubrique contient une liste des questions et réponses relatives à MySQL Server.


Q1 : Existe-t-il un moyen d'utiliser la fonction mysql_thread_id de l'API C MySQL à partir de FireDAC ?

R : Oui, bien que cela soit un peu complexe :

  • FDConnection1.ConnectionIntf.Driver.CliObj - renvoie une référence à TMySQLLib  ;
  • FDConnection1.ConnectionIntf.CliObj - renvoie une référence à TMySQLSession, qui possède la propriété MySQL ;
  • ensemble :
uses
  FireDAC.Phys.MySQLCli, FireDAC.Phys.MySQLWrapper;
...
  with FDConnection1.ConnectionIntf do
    TMySQLLib(Driver.CliObj).mysql_thread_id(TMySQLSession(CliObj).MySQL);

Q2 : La mise à jour du champ BLOB avec des données d'une taille supérieure à 512 Ko sur MySQL génère l'erreur "Le serveur MySQL est déconnecté"

R : Voir http://dev.mysql.com/doc/refman/5.0/en/gone-away.html, qui suggère d'augmenter max_allowed_packet.

Q3 : Est-il possible d'établir une connexion SSL avec un serveur MySQL ?

R : Oui, c'est possible. Voir Connexion à MySQL Server, Utilisation d'une connexion sécurisée.

Q4 : Pourquoi l'application se bloque-t-elle pendant quelques secondes à la fermeture ? Je n'utilise que des connexions MySQL

R : Si votre application crée des threads, ce problème est possible avec libmysql.dll v5.x. Voir http://bugs.mysql.com/bug.php?id=37226 pour plus de détails. Une solution consiste à essayer de terminer tous les threads avant de quitter l'application.