Questions relatives à MySQL Server (FireDAC)
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.