Try executing an ORA command without NH, see what happens.

On Tue, Mar 31, 2009 at 4:32 AM, eilensm <[email protected]> wrote:

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