C# でMySQLに接続していると「Fatal error encountered during data read」が発生する。
2015/08/29
C#でMySQLに接続して長々MySqlDataReaderをぶんぶん回していると、たまに「Fatal error encountered during data read」というエラーが発生してしまうのです。
簡単に対処方法を試してみたので、書いておきます。
以前は接続する時にMySqlDataReaderの生成を次のようにしていました。
MySqlConnection con; // conの生成は省略 string sql; // sql文も本題に関係ないので省略 MySqlCommand cmd = new MySqlCommand(sql, con); MySqlDataReader reader = cmd.ExecuteReader();
で、以下のようにしてみたらとりあえずFatal errorは発生しなくなりました。
MySqlConnection con; // conの生成は省略 string sql; // sql文も本題に関係ないので省略 MySqlCommand cmd = new MySqlCommand("set net_write_timeout=99999; set net_read_timeout=99999", con); cmd.ExecuteNonQuery(); cmd.CommandText = sql; cmd.CommandTimeout = 99999; MySqlDataReader reader = cmd.ExecuteReader();
MySQL Bugs: #61807: Fatal error encountered during data readを参考にしました。
お困りの方は一度試してみるとよいかもしれません。
では。