Est-ce que quelqu'un sait comment obtenir des transactions MySQL travaillant sous Mono?MySQL Connector/NET - support pour les transactions sous Mono
J'utilise MySQL Connector/NET (via Subsonic 3) et il fonctionne parfaitement sous Microsoft .NET. Récemment cependant j'ai essayé d'exécuter le même site sous Mono sur Ubuntu et cela fonctionne presque - sauf que je n'arrive pas à faire fonctionner les transactions.
lecture autour des sites Mono/MySQL, il ne sait pas exactement ce qui est et non pris en charge.
Le problème initial est un NotImplementedExcetion avec la pile d'appels comme celui-ci:
[System.NotImplementedException]: The requested feature is not implemented.
at MySql.Data.MySqlClient.MySqlConnection.EnlistTransaction (System.Transactions.Transaction) <0x00181>
at MySql.Data.MySqlClient.MySqlConnection.Open() <0x00381>
at SubSonic.DataProviders.DbDataProvider.CreateConnection (string) <0x00059>
at SubSonic.DataProviders.DbDataProvider.CreateConnection() <0x00015>
Il y a quelques mentions de ce sur le site MySQL qui semblent pointer vers Mono ne supportant pas l'infrastructure nécessaire pour faire fonctionner les transactions. Il y a aussi un commentaire que les transactions fonctionnent bien lorsque vous utilisez CommittableTransaction plutôt que TransactionScope. J'ai donc essayé, mais j'ai eu la même exception.
Un autre commentaire sur le site MySQL a suggéré la reconstruction du fournisseur de données MySQL avec l'option de construction MONO
. Ce que j'ai essayé et le site fonctionne maintenant, mais les transactions ne sont pas utilisées - elles ont été simplement désactivées. Vraiment?
je trouve difficile de croire que les transactions ne peuvent pas être faits pour travailler dans cet environnement, mais ne peut pas trouver un exemple de travail.
Mono 2.6.7, Connexion MySQL/NET 6.3.4, Subsonic 3, Ubuntu 10.10