I’ve finally had chance to attempt to fix my original issue (see link) with the solution described by Diego to use both TransactionScope and BeginTransaction().
Unfortunately, with Oracle the following two test cases fail with Oracle exceptions as shown. (Both pass with SQL Server.) Any comments would be appreciated. Thanks. Link to original problem: http://groups.google.com/group/nhusers/browse_thread/thread/160bad2228c15fc6?fwc=1 ------------------------ [Test] public void CanBeginTransactionWithinTransactionScopeWhenSessionIsCreatedBeforeTransactionScope() { using (ISession s = OpenSession()) { using (TransactionScope scope = new TransactionScope()) { using (ITransaction tx = s.BeginTransaction()) // => Exception here { tx.Commit(); } scope.Complete(); } } } ***** NHibernate.Test.NHSpecificTest.NH2176.Fixture.CanBeginTransactionWithinTransactionScopeWhenSessionIsCreatedBeforeTransactionScope 12:06:03,742 ERROR AdoTransaction:144 - Begin transaction failed System.InvalidOperationException: OracleConnection does not support parallel transactions. at System.Data.OracleClient.OracleInternalConnection.BeginOracleTransaction(IsolationLevel il) at System.Data.OracleClient.OracleInternalConnection.BeginTransaction(IsolationLevel il) at System.Data.OracleClient.OracleConnection.BeginDbTransaction(IsolationLevel isolationLevel) at System.Data.Common.DbConnection.System.Data.IDbConnection.BeginTransaction(IsolationLevel isolationLevel) at NHibernate.Transaction.AdoTransaction.Begin(IsolationLevel isolationLevel) in \NHibernate-2.1.2.GA-src\src\NHibernate\Transaction \AdoTransaction.cs:line 134 [Test] public void CanBeginTransactionWithinTransactionScopeWhenSessionIsCreatedAfterTransactionScope() { using (TransactionScope scope = new TransactionScope()) { using (ISession s = OpenSession()) { using (ITransaction tx = s.BeginTransaction()) // => Exception here { tx.Commit(); } } scope.Complete(); } } ***** NHibernate.Test.NHSpecificTest.NH2176.Fixture.CanBeginTransactionWithinTransactionScopeWhenSessionIsCreatedAfterTransactionScope 12:05:31,820 ERROR AdoTransaction:144 - Begin transaction failed System.InvalidOperationException: OracleConnection does not support parallel transactions. at System.Data.OracleClient.OracleInternalConnection.BeginOracleTransaction(IsolationLevel il) at System.Data.OracleClient.OracleInternalConnection.BeginTransaction(IsolationLevel il) at System.Data.OracleClient.OracleConnection.BeginDbTransaction(IsolationLevel isolationLevel) at System.Data.Common.DbConnection.System.Data.IDbConnection.BeginTransaction(IsolationLevel isolationLevel) at NHibernate.Transaction.AdoTransaction.Begin(IsolationLevel isolationLevel) in \NHibernate-2.1.2.GA-src\src\NHibernate\Transaction \AdoTransaction.cs:line 134 -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
