Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MySQL Exception - Fatal Error Encountered During Data Read

I am working on a C# console program that grabs large numbers of records from a table, runs them through a medical grouper, and then updates each of the records. It uses MySQL Connector/NET 5.2.7. The way it works is that I grab chunks of data at a time (i.e. 20,000 rows) using SQL_BUFFER_RESULT to avoid locks. Each record is run through the grouper, and then an individual update query is done on that one record. There are two connections used, a read connection and a write connection.

So as the program executes and it loops through records from the read query, its using result.Read() to do so, where result is a MySqlDataReader. The result.Read call is where there exception is thrown. It happens randomly (not on the same record or anything). Once it is encountered on the first record, it is also encountered on every subsequent read call for the data reader. I've tried many things and searched high and low for related problems others have had. Any insight would be great, and feel free to let me know what other info I need to provide.

like image 751
Vince Avatar asked Mar 30 '10 14:03

Vince


2 Answers

Between connection.Open(); and command.ExecuteNonQuery(); I just added two lines like this:

connection.Open();

MySqlCommand cmd = new MySqlCommand("set net_write_timeout=99999; set net_read_timeout=99999", connection); // Setting tiimeout on mysqlServer
cmd.ExecuteNonQuery();

int numOfRecordsUpdated = command.ExecuteNonQuery();

Problem Fixed :)

like image 88
Adil Avatar answered Jan 27 '23 16:01

Adil


Or just simply:

cmd.CommandTimeout = 99999;
like image 45
Andrew Sin Avatar answered Jan 27 '23 17:01

Andrew Sin