2013-04-12 14 views
5

私のプログラムはrunghcで実行されますが、「クエリ中にMySQLサーバへの接続が失われました」というエラーが表示されてコンパイル時に同じプログラムが失敗します。失敗は長期実行クエリに関連付けられていません(小さなテーブルのCREATE VIEWです)。 MySQLエラーログには何もなく、log_warnings = 1もありません。 環境 - のUbuntu(13.04 ;-)、ローカルデータベース)HDBC ODBC MySQL - コンパイル時にクエリが失敗する

+0

log_warnings = 2(http://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_log-warnings)を設定してみてください。どのようなOS、どのバージョンのghcですか?コードを単純な例に減らしても問題は解決し、そのコードを投稿できますか? –

+0

提案していただきありがとうございます。 – hdb3

+0

ありがとうございます。 非常に簡単な例があります:http://pastebin.com/9vrStfs7 HDBC.ODBCからHDBC.MySQLに切り替えましたが、問題はそのままです。 私はネットワークアクセス9onループバックi/fを使用するように切り替えました。同じ問題ですが、今はトラフィックが見えます!ログファイルには新しいメッセージはありませんが、/var/log/mysql/error.logには次のようなエラーがあります: "[警告] dbへの接続が中止されました:243(通信パケットの読み込みエラーが発生しました) " また、tshark pktトレースは、サーバが応答する前にクライアントが切断されたことを示します(約200mS)。 runghcを使用すると、サーバーの応答は300 mSです。 – hdb3

答えて

3

HDBC.ODBC 必見使用は、すべてのデータベース・アクセス・アクション、または私が説明するように、このようなリスクランダム故障を保護するために「withRTSSignalsBlocked」。これは、図書館の著者によって効果的に確認されました。

+1

hdb3:ODBCではなく、 'HDBC.MySQL'を意味しますか? – sclv

+0

私は[** 'Database.HDBC.ODBC' **](http://hackage.haskell.org/package/HDBC-odbc-2.2.3.0/docs/Database-HDBC-ODBC.html)の接続& [*]の[** withRTSSignalsBlocked' **](http://hackage.haskell.org/package/HDBC-mysql-0.6.5.1/docs/Database-HDBC-MySQL.html#v:withRTSSignalsBlocked) * 'Database.HDBC.MySql' **](http://hackage.haskell.org/package/HDBC-mysql-0.6.5.1/docs/Database-HDBC-MySQL.html)と不安定なランタイム動作***消えた!*** –

関連する問題