首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NHibernate - SafeHandle不能为空

NHibernate - SafeHandle不能为空
EN

Stack Overflow用户
提问于 2015-03-10 08:45:24
回答 1查看 1.1K关注 0票数 0

我使用NHibernate连接到Oracle数据库。一切都很好,直到我突然开始收到奇怪的Value cannot be null. Parameter name: SafeHandle cannot be null.错误。我不知道我为了得到这个错误而改变了什么,我也不知道它到底意味着什么。谷歌也没有给出结果。下面是完整的堆栈跟踪。有什么想法吗?

当调用BuildSessionFactory时发生错误:

代码语言:javascript
复制
 var x = Fluently.Configure()
        .Database(OracleClientConfiguration.Oracle10
            .ConnectionString(connectionString))
        .Mappings(m => m.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly()))
        .BuildConfiguration();

    return x.BuildSessionFactory();

在System.StubHelpers.StubHelpers.SafeHandleAddRef(SafeHandle System.Data.Common.UnsafeNativeMethods.OCIAttrSet(OciHandle trgthndlp,HTYPE trgthndlp,HTYPE trghndltyp,System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String trgthndlp,UInt32 size,attrtype,OciHandle errhp)的System.Data.OracleClient.TracedNativeMethods.OCIAttrSet(OciHandle trgthndlp,Byte[]属性,UInt32大小,ATTR吸引类型,OciHandle errhp)在System.Data.OracleClient.OciHandle.SetAttribute(ATTR属性,String值,OciErrorHandle errorHandle)在System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String userName,字符串密码,( System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString connectionOptions上的字符串serverName、布尔integratedSecurity、布尔unicode、布尔omitOracleConnectionName) )在System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection、DbConnectionPool池上的对象poolGroupProviderInfo、DbConnectionPool池、DbConnection owningObject)。在System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject,在System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject,在System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject),在System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection),在System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection,System.Data.OracleClient.OracleConnection.Open() at NHibernate.Connection.DriverConnectionProvider.GetConnection() at NHibernate.Tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.Prepare() at NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.GetReservedWords(Dialect方言,IConnectionHelper connectionHelper( NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.Update(ISessionFactory sessionFactory)在NHibernate.Impl.SessionFactoryImpl..ctor(Configuration cfg,IMapping映射,设置设置,( NHibernate.Cfg.Configuration.BuildSessionFactory() at Models.SessionFactory.CreateOracleConnection(String connectionString),c:\Users\CMENGU\Projects\TNT\Models\SessionManager.cs:line 21 at TNT.SessionManager.InitOracleFactory() in c:\Users\CMENGU\Projects\TNT\TNT\SessionManager.cs:line 29 at TNT.Program.Main() in c:\Users\CMENGU\Projects\TNT\TNT\Program.cs:line 30 at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly,在Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()的System.AppDomain.ExecuteAssembly(String assemblyFile,Evidence,String[] args) 在System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext,ContextCallback回调,对象状态,布尔preserveSyncCtx)在System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调,对象状态,布尔preserveSyncCtx)在System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调,Object状态)在System.Threading.ThreadHelper.ThreadStart()

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-12 23:22:20

原来,是VisualStudio2015预览版在某种程度上搞砸了与甲骨文库相关的东西,从而导致了这个错误。我不得不重新格式化我的电脑几次,直到我明白了发生了什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28959325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档