[Mono-dev] MySQL Connector/NET - support for transactions under Mono

Brad Robinson brad.robinson at cognethos.com
Sun Oct 3 19:54:59 EDT 2010

Does anyone know how to get MySQL transactions working under Mono?

I'm using MySQL Connector/NET (via Subsonic 3) and it works perfectly under
Microsoft .NET.  Recently however I tried running the same site under Mono
on Ubuntu and it almost works - except I can't seem to get transactions

Reading around the Mono/MySQL sites it's not exactly clear what is and isn't

The original problem is a NotImplementedExcetion with call stack like this:

    [System.NotImplementedException]: The requested feature is not
    at MySql.Data.MySqlClient.MySqlConnection.EnlistTransaction
(System.Transactions.Transaction) <0x00181> 
    at MySql.Data.MySqlClient.MySqlConnection.Open () <0x00381> 
    at SubSonic.DataProviders.DbDataProvider.CreateConnection (string)
    at SubSonic.DataProviders.DbDataProvider.CreateConnection () <0x00015>

There's a few mentions of this on the MySQL site which seem to point to Mono
not supporting the required infrastructure to make transactions work.  
There's also a comment that transactions work fine when using
CommittableTransaction rather than TransactionScope.  So I tried that, but
got the same exception.

Another comment on the MySQL site suggested rebuilding the MySQL data
provider with the `MONO` build option.  Which I tried and the site now
works, but transactions aren't being used - they've been simply disabled. 

I find it hard to believe that transactions can't be made to work in this
environment, but can't find a working example.

Mono 2.6.7, MySQL Connection/NET 6.3.4, Subsonic 3, Ubuntu 10.10
View this message in context: http://mono.1490590.n4.nabble.com/MySQL-Connector-NET-support-for-transactions-under-Mono-tp2953660p2953660.html
Sent from the Mono - Dev mailing list archive at Nabble.com.

More information about the Mono-devel-list mailing list