Transaction isolation level can't be changed while a transaction

Transaction isolation level can't be changed while a transaction

Postby lonegunman » Mon 14 Mar 2016 15:56

Hello,

The exception keep occuring randomly, like (http://forums.devart.com/viewtopic.php?t=16471). I've capture a dump, it shows that none of 5 connections in connection pool has transaction. My exception stacktrace is:
> 在 Devart.Data.MySql.bj.a()
> 在 Devart.Data.MySql.bj.i()
> 在 Devart.Data.MySql.ae.a(aa[]& A_0, Int32& A_1, Boolean A_2)
> 在 Devart.Data.MySql.ae.a(Byte[] A_0, Int32 A_1, Boolean A_2, String A_3)
> 在 Devart.Data.MySql.g.e()
> 在 Devart.Data.MySql.g.m()
> 在 Devart.Data.MySql.MySqlCommand.InternalExecute(CommandBehavior behavior, IDisposable stmt, Int32 startRecord, Int32 maxRecords)
> 在 Devart.Common.DbCommandBase.InternalExecute(CommandBehavior behavior, IDisposable stmt, Int32 startRecord, Int32 maxRecords, Boolean nonQuery)
> 在 Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior, Boolean nonQuery)
> 在 Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior)
> 在 System.Data.Common.DbCommand.ExecuteReader()
> 在 Devart.Common.DbCommandBase.ExecuteNonQuery()
> 在 Devart.Data.MySql.MySqlTransaction..ctor(MySqlConnection A_0, IsolationLevel A_1)
> 在 Devart.Data.MySql.MySqlInternalConnection.BeginTransaction(IsolationLevel il)
> 在 Devart.Common.DbConnectionBase.BeginDbTransaction(IsolationLevel isolationLevel)
> 在 Devart.Data.MySql.MySqlConnection.BeginDbTransaction(IsolationLevel isolationLevel)
> 在 System.Data.Common.DbConnection.BeginTransaction(IsolationLevel isolationLevel)
> 在 System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.<BeginTransaction>b__0(DbConnection t, BeginTransactionInterceptionContext c)
> 在 System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
> 在 System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.BeginTransaction(DbConnection connection, BeginTransactionInterceptionContext interceptionContext)
> 在 System.Data.Entity.Core.EntityClient.EntityConnection.<>c__DisplayClassf.<BeginDbTransaction>b__d()
> 在 System.Data.Entity.Infrastructure.DefaultExecutionStrategy.Execute[TResult](Func`1 operation)
> 在 System.Data.Entity.Core.EntityClient.EntityConnection.BeginDbTransaction(IsolationLevel isolationLevel)

Please, somebody help me, thanks!
lonegunman
 
Posts: 1
Joined: Mon 14 Mar 2016 15:48

Re: Transaction isolation level can't be changed while a transaction

Postby Shalex » Tue 15 Mar 2016 06:03

1. Please upgrade to the newest (8.4.602) build of dotConnect for MySQL: https://www.devart.com/dotconnect/mysql/revision_history.html. Does the issue persist with v8.4.602 as well?
2. We cannot identify the reason of the error at the moment. Try to localize the problem and send us a small test project with the corresponding DDL/DML script for reproducing.
3. Specify the full (x.x.xx) version of your MySQL Server.
Shalex
Devart Team
 
Posts: 7616
Joined: Thu 14 Aug 2008 12:44


Return to dotConnect for MySQL