Changing Transaction isolation level

Changing Transaction isolation level

Postby mcaselli » Thu 13 May 2010 21:30

Dear support team,
I use devart dotconnect for mysql 5.70.120.

I using DevArt Linq to SQL model.

The DB is MySQL 5.1.x installed on windows server 2008 32 bit.

I have encountered this problem:
===
InnerException = {"Binary logging not possible. Message: Transaction level 'READ-COMMITTED' in InnoDB is not safe for binlog mode 'STATEMENT'"}
===

This occur when i try to update an changed object (_model.SubmitChanges):

Code: Select all
public bool UpdateCustomHasAmbiente(cam_has_amb chaToUpdate)
        {
            bool addResult = true;
            try
            {
               
                _model.SubmitChanges();
//                _model.SaveChanges();
            }
            catch (Exception e)
            {
                addResult = false;
            }

            return addResult;
        }


I try to change the isolation level of transaction but i don't find the correct sintax or don't work fine.

Best regards.
Max
P.S. * _model is the context.
mcaselli
 
Posts: 3
Joined: Tue 13 Apr 2010 15:56

Postby AndreyR » Wed 09 Jun 2010 16:13

This error arises in case when Binary Logging mode is set to STATEMENT and a transaction is started with isolation level set to READ COMMITTED. This isolation level is necessary for LINQ to SQL internal tranasctions.
So, the solution is to set the binary logging to "ROW" or "MIXED", like it is described here.
AndreyR
Devart Team
 
Posts: 2919
Joined: Mon 07 Jul 2008 13:16


Return to dotConnect for MySQL