Anda mungkin mengalami bug ini di Konektor MySQL/NET .
Apa yang memicu bug ini:
- Panggilan kode untuk eksekusi kueri A
- Transaksi 1 untuk kueri A dimulai
- Kueri A dijalankan dan menyebabkan kesalahan di MySQL
- Transaksi 1 TIDAK dibatalkan
- Panggilan kode untuk eksekusi kueri B
- Transaksi 2 untuk kueri B dimulai
- MySQL Connector/NET memberikan pengecualian
Bugnya adalah poin 4:transaksi 1 dibiarkan terbuka setelah kesalahan (atau setidaknya konektornya masih yakin dibiarkan terbuka). Karena penyatuan koneksi, kode yang memanggil kueri A dan kueri B bisa sama sekali tidak terkait. Juga, jika waktu antara poin 4 dan 5 cukup lama, transaksi adalah digulung kembali, karenanya kelangkaan dan keacakan.
Sayangnya belum ada perbaikan oleh MySQL. Satu-satunya solusi yang saya tahu adalah mengunduh kode sumber Connector/NET dan memperbaiki/membangunnya sendiri.