sql >> Database teknologi >  >> RDS >> Mysql

ASP.NET Web Forms og MySql Entity Framework:Indlejrede transaktioner understøttes ikke

Du er sandsynligvis stødt på denne fejl i MySQL Connector/NET .

Hvad udløser denne fejl:

  1. Kodekald til udførelse af forespørgsel A
  2. Transaktion 1 for forespørgsel A er startet
  3. Forespørgsel A udføres og forårsager en fejl i MySQL
  4. Transaktion 1 rulles IKKE tilbage
  5. Kodekald til udførelse af forespørgsel B
  6. Transaktion 2 for forespørgsel B er startet
  7. MySQL Connector/NET kaster undtagelsen

Fejlen er punkt 4:transaktion 1 efterlades åben efter en fejl (eller i det mindste er stikket stadig overbevist om, at det er åbent). På grund af forbindelsespooling kan den kode, der kalder forespørgsel A og forespørgsel B, være fuldstændig uafhængig. Hvis tiden mellem punkt 4 og 5 er lang nok, er transaktionen også er rullet tilbage, deraf sjældenheden og tilfældigheden.

Desværre er der ingen rettelse af MySQL endnu. Den eneste løsning, jeg kender til, er at downloade kildekoden til Connector/NET og rette/bygge den selv.




  1. mysql community server vs mysql installationsprogram

  2. Sådan administreres server-side processer ved hjælp af MySQL

  3. SQL mindre end eller lig med (=) operatør for begyndere

  4. mysql fejl 2049 forbindelse ved hjælp af gammel (præ-4-1-1) godkendelse fra mac