sql >> データベース >  >> RDS >> Mysql

ASP.NETWebフォームとMySqlEntityFramework:ネストされたトランザクションはサポートされていません

    MySQL Connector/NETのこのバグ に遭遇した可能性があります。 。

    このバグの原因:

    1. クエリAの実行を求めるコード
    2. クエリAのトランザクション1が開始されます
    3. クエリAが実行され、MySQLでエラーが発生します
    4. トランザクション1はロールバックされません
    5. クエリBの実行を求めるコード
    6. クエリBのトランザクション2が開始されます
    7. MySQL Connector/NETは例外をスローします

    バグはポイント4です。エラーが発生した後、トランザクション1は開いたままになります(または、少なくともコネクタは開いたままであると確信しています)。接続プールのため、クエリAとクエリBを呼び出すコードは完全に無関係になる可能性があります。また、ポイント4と5の間の時間が十分に長い場合、トランザクションは ロールバックされたため、希少性とランダム性。

    残念ながら、MySQLによる修正はまだありません。私が知っている唯一の回避策は、Connector / NETのソースコードをダウンロードし、それを自分で修正/構築することです。




    1. JPAネイティブクエリを使用して同じ名前の複数の列を選択するにはどうすればよいですか?

    2. Codeiginterでページネーションを作成するにはどうすればよいですか?

    3. データマスキングによるデータリスクの軽減

    4. Mysql:ルーチンエラーのためにユーザー''@'localhost'に対してコマンドの実行が拒否されました