MySQL サーバーに関する質問(FireDAC)

提供: RAD Studio
移動先: 案内検索

FAQ(FireDAC) への移動

このトピックでは、MySQL Server に関係する質問と回答の一覧を扱います。


Q1: MySQL C API 関数の mysql_thread_id を FireDAC から使用する方法はありますか。

A: はい、少しわかりにくいですが、以下のような方法があります。

  • FDConnection1.ConnectionIntf.Driver.CliObj - TMySQLLib の参照を返します。
  • FDConnection1.ConnectionIntf.CliObj - TMySQLSession の参照を返します。そこに MySQL プロパティが含まれています。
  • これらをまとめると、次のようになります。
uses
  FireDAC.Phys.MySQLCli, FireDAC.Phys.MySQLWrapper;
...
  with FDConnection1.ConnectionIntf do
    TMySQLLib(Driver.CliObj).mysql_thread_id(TMySQLSession(CliObj).MySQL);

Q2: MySQL で BLOB フィールドを 512 KB を超えるデータで更新すると、"MySQL server has gone away" エラーが発生します。

A: http://dev.mysql.com/doc/refman/5.0/en/gone-away.html を参照してください。そこでは、max_allowed_packet の値を増やすように勧めています。

Q3: MySQL サーバーへの SSL 接続を確立することは可能ですか。

A: はい、可能です。 「MySQL サーバーへの接続」の「セキュアな接続の使用」を参照してください。

Q4: アプリケーションが終了時に数秒間ハングするのはなぜですか。 MySQL 接続しか使用していません。

A: アプリケーションでスレッドを生成している場合は、libmysql.dll バージョン 5.x でこの問題が発生するおそれがあります。 詳細については、http://bugs.mysql.com/bug.php?id=37226 を参照してください。 回避策としては、アプリケーションを終了する前にすべてのスレッドを終了してみてください。