MySQL Connector/NETのこのバグ に遭遇した可能性があります。 。
このバグの原因:
- クエリAの実行を求めるコード
- クエリAのトランザクション1が開始されます
- クエリAが実行され、MySQLでエラーが発生します
- トランザクション1はロールバックされません
- クエリBの実行を求めるコード
- クエリBのトランザクション2が開始されます
- MySQL Connector/NETは例外をスローします
バグはポイント4です。エラーが発生した後、トランザクション1は開いたままになります(または、少なくともコネクタは開いたままであると確信しています)。接続プールのため、クエリAとクエリBを呼び出すコードは完全に無関係になる可能性があります。また、ポイント4と5の間の時間が十分に長い場合、トランザクションは ロールバックされたため、希少性とランダム性。
残念ながら、MySQLによる修正はまだありません。私が知っている唯一の回避策は、Connector / NETのソースコードをダウンロードし、それを自分で修正/構築することです。