一尘不染

MySQL异常-读取数据时遇到致命错误

mysql

我正在使用一个C#控制台程序,该程序从表中获取大量记录,通过医疗分组器运行它们,然后更新每个记录。它使用MySQL Connector / NET
5.2.7。它的工作方式是我使用SQL_BUFFER_RESULT一次抓取数据块(即20,000行)以避免锁定。每条记录都通过分组程序运行,然后对那条记录进行单独的更新查询。使用两个连接,一个读连接和一个写连接。

因此,当程序执行并遍历读取查询中的记录时,将使用result.Read()这样做,其中result为MySqlDataReader。result.Read调用将引发异常。它是随机发生的(不在同一记录或任何东西上)。一旦在第一条记录上遇到它,在随后的数据读取器读取调用中也遇到它。我尝试了很多事情,并在高空搜寻其他人遇到的相关问题。任何见解都是很好的,并且随时让我知道我需要提供什么其他信息。


阅读 603

收藏
2020-05-17

共1个答案

一尘不染

之间的connection.Open(); 和command.ExecuteNonQuery(); 我只添加了以下两行:

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();

解决的问题:)

2020-05-17