我正在开发一款C#控制台程序,用于从一个表中获取大量记录,将它们通过医疗分组器处理后更新每条记录。它使用的是MySQL Connector/NET 5.2.7。它的工作原理是每次抓取一部分数据(例如20,000行),使用SQL_BUFFER_RESULT避免锁定。每个记录都会经过分组器处理,然后对该记录执行单独的更新查询。该程序使用两个连接,一个读连接和一个写连接。
因此,当程序执行并循环读取查询返回的记录时,它使用result.Read()方法来实现,其中result是MySqlDataReader类型的对象。在result.Read()调用时会抛出异常,并且这种情况是随机发生的(不是针对同一记录或任何其他明显规律)。一旦第一条记录遇到这个问题,数据读取器的每个后续读取调用都会遇到这个问题。我尝试了许多方法,并搜索了其他人遇到的相关问题。如果您有任何见解,请随时告诉我需要提供哪些其他信息。