私は、テーブルから多数のレコードを取得し、それらを医療グループで実行してから、各レコードを更新するC#コンソールプログラムに取り組んでいます。MySQL Connector /NET5.2.7を使用します。それが機能する方法は、ロックを回避するためにSQL_BUFFER_RESULTを使用して一度にデータのチャンク(つまり20,000行)を取得することです。各レコードはグルーパーを介して実行され、次にその1つのレコードに対して個別の更新クエリが実行されます。使用される接続には、読み取り接続と書き込み接続の2つがあります。
したがって、プログラムが実行され、読み取りクエリからのレコードをループすると、result.Read()を使用してループします。ここで、resultはMySqlDataReaderです。result.Read呼び出しは、例外がスローされる場所です。それはランダムに発生します(同じレコードなどではありません)。最初のレコードで検出されると、データリーダーの後続のすべての読み取り呼び出しでも検出されます。私は多くのことを試し、他の人が抱えている関連する問題を高低で検索しました。どんな洞察も素晴らしいでしょう、そして私が提供する必要がある他のどんな情報を私に知らせてください。