Prova ad aggiungere Enlist=false
alla stringa di connessione:
EDIT:da MySQL Connector/.NET documentazione
, se imposti AutoEnlist=false
nella stringa di connessione dovrebbe funzionare.
<add name="Connection" connectionString="server=localhost;user id=userid;Password=password;database=dbname;AutoEnlist=false" providerName="MySql.Data.MySqlClient" />
Sembra che alcune versioni di ADO.NET possano impostare automaticamente una connessione in una transazione esistente. Vedere http://msdn.microsoft.com/en-us/library/ ms254973.aspx per maggiori dettagli, ma mi aspetto che in qualche modo ADO sia confuso nel pensare che ci sia una transazione esistente in corso su qualche altro db.