VIsual C# 2008 と MySQL Connector / NET 6.4.3 で、ブロードキャストされるUDPパケットを受信してDBのテーブルへ格納する、という一連のコードをC#で組んでましたら、ローカルに立てたMySQLには普通に接続できてSQLクエリーも処理されるんだけど、LAN内の他のマシン上のMySQLサーバーへSQL文を投げると・・・
Out of sync with server
という今まで見たことのないメッセージとともに例外がスローされてしまって困ってました。
コードはごく普通のものなんだけど・・・。
/* myInsertQuery は、テーブルへINSERTするSQL文(string型) */ using System.Data.Common; ... try { lock(DBConnection) { DBConnection.Open(); DbCommand command = DBConnection.CreateCommand(); command.CommandText = myInsertQuery; command.ExecuteNonQuery(); DBConnection.Close(); } } catch(Exception e) { MessageBox.Show(e.Message); return false; }
クライアントと同じマシン上のMySQLサーバーへのクエリーは成功するんですが、LAN内の他のマシン上のMySQLサーバーへのクエリーがどうやっても “Out of sync with server”というエラー。
ローカルマシンは、WindowsXP + MySQL 5.1 (正常に処理される)
リモートマシンは、CentOS 5.5 + MySQL 5.0.77 (エラーが出る)
訳が分からない。で、MySQL Connector/NET が6.4.4にマイナーアップしていたので、入れ替えたら、普通に成功した。
なんだよ! ただのConnectorのバグかよ・・・orz
ググったら、同じエラー・メッセージでbugレポート出てた・・・。