Hello,

I'm trying to get TransactionScope to work with an Oracle 11g in a
simple prototyping application.

I'm using NHibernate 2.0.1GA and .NET 3.5, ODAC 11.1.0.6.20.

I created a simple table TXTEST and the following mapping for it:

>>>
<class name="TxTest" table="TXTEST">
    <id name="Id" column="ID" type="System.Int32">
      <generator class="sequence">
        <param name="sequence">TXTEST_SEQ</param>
      </generator>
    </id>
    <property name="Name" column="NAME" type="String"/>
  </class>
<<<


When running my test code with a using block for creating the
TransactionScope instance, I get an error I don't understand. Without
this using block, everything works just fine.
A guess is, that there might be a problem with the TransactionScope
and the ID sequence. But I'm not sure.

Here is the code snippet followed by the error message I got.

Any help is very appreciated!

Thanks in advance,
Marc

>>>
private void TestHibernate()
{
        ISessionFactory sessionFactory = new Configuration().Configure
().BuildSessionFactory();
        //using (TransactionScope txScope = new TransactionScope
(TransactionScopeOption.Required))
        //{
                using (ISession session = sessionFactory.OpenSession())
                {
                        TxTest obj = new TxTest();
                        obj.Name = "Eilens";
                        session.Save(obj);
                        session.Flush();
                        LogManager.GetLogger(this.GetType()).Debug("obj: " + 
obj.Id + ",
name: " + obj.Name);
                }
        //}
}
<<<

>>>
NHibernate.ADOException was unhandled
  Message="cannot open connection"
  Source="NHibernate"
  StackTrace:
       at NHibernate.Impl.SessionFactoryImpl.OpenConnection()
       at NHibernate.AdoNet.ConnectionManager.GetConnection()
       at NHibernate.AdoNet.AbstractBatcher.Prepare(IDbCommand cmd)
       at NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand
cmd)
       at NHibernate.Id.SequenceGenerator.Generate(ISessionImplementor
session, Object obj)
       at
NHibernate.Event.Default.AbstractSaveEventListener.SaveWithGeneratedId
(Object entity, String entityName, Object anything, IEventSource
source, Boolean requiresImmediateIdAccess)
       at
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.SaveWithGeneratedOrRequestedId
(SaveOrUpdateEvent event)
       at
NHibernate.Event.Default.DefaultSaveEventListener.SaveWithGeneratedOrRequestedId
(SaveOrUpdateEvent event)
       at
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.EntityIsTransient
(SaveOrUpdateEvent event)
       at
NHibernate.Event.Default.DefaultSaveEventListener.PerformSaveOrUpdate
(SaveOrUpdateEvent event)
       at
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.OnSaveOrUpdate
(SaveOrUpdateEvent event)
       at NHibernate.Impl.SessionImpl.FireSave(SaveOrUpdateEvent
event)
       at NHibernate.Impl.SessionImpl.Save(Object obj)
       at TxPrototyp.Form1.TestHibernate()
       at TxPrototyp.Form1..ctor()
       at TxPrototyp.Program.Main()
       at System.AppDomain._nExecuteAssembly(Assembly assembly, String
[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile,
Evidence assemblySecurity, String[] args)
       at
Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object
state)
       at System.Threading.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: Oracle.DataAccess.Client.OracleException
       Message="Interner Daten-Provider-Fehler(-3000) [System.String]"
       Source="Oracle Data Provider for .NET"
       ErrorCode=-2147467259
       DataSource=""
       Number=-3000
       Procedure=""
       StackTrace:
            at
Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32
errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx*
pOpoSqlValCtx, Object src, String procedure)
            at Oracle.DataAccess.Client.OracleException.HandleError
(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src)
            at Oracle.DataAccess.Client.OracleConnection.Open()
            at
NHibernate.Connection.DriverConnectionProvider.GetConnection()
            at NHibernate.Impl.SessionFactoryImpl.OpenConnection()
       InnerException:

<<<


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to