Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Formulir Web ASP.NET dan Kerangka Entitas MySql:Transaksi bersarang tidak didukung

Anda mungkin mengalami bug ini di Konektor MySQL/NET .

Apa yang memicu bug ini:

  1. Panggilan kode untuk eksekusi kueri A
  2. Transaksi 1 untuk kueri A dimulai
  3. Kueri A dijalankan dan menyebabkan kesalahan di MySQL
  4. Transaksi 1 TIDAK dibatalkan
  5. Panggilan kode untuk eksekusi kueri B
  6. Transaksi 2 untuk kueri B dimulai
  7. 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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menghapus file ketika catatan dihapus?

  2. mysql-connector-java-8.0.12 :mendapatkan kesalahan untuk zona waktu server 'Malay Peninsula Standard Time'

  3. Bagaimana cara mengonversi kolom ke ASCII dengan cepat tanpa menyimpan untuk memeriksa kecocokan dengan string ASCII eksternal?

  4. Performa di PDO / PHP / MySQL:transaksi versus eksekusi langsung

  5. Satu ke Banyak/banyak ke banyak SQL