Spróbuj dodać Enlist=false
do ciągu połączenia:
EDYCJA:z MySQL Connector/.NET dokumentacja
, jeśli ustawisz AutoEnlist=false
w ciągu połączenia powinno działać.
<add name="Connection" connectionString="server=localhost;user id=userid;Password=password;database=dbname;AutoEnlist=false" providerName="MySql.Data.MySqlClient" />
Wygląda na to, że niektóre wersje ADO.NET mogą domyślnie automatycznie rejestrować połączenie w istniejącej transakcji. Zobacz http://msdn.microsoft.com/en-us/library/ ms254973.aspx aby uzyskać więcej szczegółów, ale spodziewam się, że gdzieś ADO jest zdezorientowane myśląc, że istnieje istniejąca transakcja przechodząca do innej bazy danych.