Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

ASP.NET वेब फॉर्म और MySql इकाई फ्रेमवर्क:नेस्टेड लेनदेन समर्थित नहीं हैं

आपने संभवतः MySQL Connector/NET में इस बग का सामना किया होगा

यह बग क्या ट्रिगर करता है:

  1. क्वेरी ए के निष्पादन के लिए कोड कॉल
  2. क्वेरी A के लिए लेन-देन 1 शुरू हो गया है
  3. क्वेरी ए निष्पादित किया गया है और MySQL में एक त्रुटि का कारण बनता है
  4. लेन-देन 1 वापस नहीं लिया गया है
  5. क्वेरी बी के निष्पादन के लिए कोड कॉल
  6. क्वेरी B के लिए लेन-देन 2 शुरू हो गया है
  7. MySQL Connector/NET अपवाद फेंकता है

बग बिंदु 4 है:लेन-देन 1 एक त्रुटि के बाद खुला छोड़ दिया जाता है (या कम से कम कनेक्टर अभी भी आश्वस्त है कि इसे खुला छोड़ दिया गया है)। कनेक्शन पूलिंग के कारण, क्वेरी A और क्वेरी B के लिए कॉल करने वाला कोड पूरी तरह से असंबंधित हो सकता है। साथ ही, यदि बिंदु 4 और 5 के बीच का समय काफी लंबा है, तो लेन-देन है वापस लुढ़क गया, इसलिए दुर्लभता और यादृच्छिकता।

दुर्भाग्य से MySQL द्वारा अभी तक कोई समाधान नहीं किया गया है। मुझे पता है कि एकमात्र समाधान कनेक्टर/नेट का स्रोत कोड डाउनलोड करना और इसे स्वयं ठीक करना/बनाना है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं mySql कॉलम लंबाई/मान कैसे प्राप्त कर सकता हूं?

  2. MySQL में बहु-स्तंभ विदेशी कुंजी?

  3. रेल `कहां` प्रश्नों से कम समय के लिए

  4. वीपीएन विकल्प के रूप में एसएसएच टनलिंग का उपयोग करना

  5. PHP का उपयोग करके MySQL डेटाबेस से छवियों को कैसे पढ़ा जाए?