Du er sandsynligvis stødt på denne fejl i MySQL Connector/NET .
Hvad udløser denne fejl:
- Kodekald til udførelse af forespørgsel A
- Transaktion 1 for forespørgsel A er startet
- Forespørgsel A udføres og forårsager en fejl i MySQL
- Transaktion 1 rulles IKKE tilbage
- Kodekald til udførelse af forespørgsel B
- Transaktion 2 for forespørgsel B er startet
- 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.