12c的访问冲突异常

本文关键字:异常 访问冲突 12c | 更新日期: 2023-09-27 18:08:09

我们使用Oracle 11g 64位odp客户端连接11g数据库。我们最近升级到Oracle 12c。我已经卸载了11godp客户端在我的本地机器(Windows Server 2008 R2 64位)。我确保从regedit.exe中删除了注册表项。安装Oracle 12c 64位后,可以成功建立连接。但是在提交后,当我尝试使用OracleConnection.close()关闭连接时,我得到

"AccessViolationException:试图读取或写入保护内存。这通常表明其他内存已损坏"。

我使用Visual Studio 2010 Professional作为IDE。请让我知道如何解决这个问题。下面是异常的堆栈跟踪:

Oracle.DataAccess.Client.OpsCon.Close (IntPtr&opsConCtx IntPtr&opsErrCtx, OpoConValCtx* pOpoConValCtx, OpoConRefCtx pOpoConRefCtx)
在Oracle.DataAccess.Client.ConnectionPool.CheckLifeTimeAndStatus (OpoConCtx&bDistTxnActive,布尔值&bclose, Int32 bFromPool,布尔bCheckLifetimeOnly,布尔bFreeValCtxOnDispose,布尔isPopulatePool)Oracle.DataAccess.Client.ConnectionPool.PutConnection (OpoConCtx&bDoNotAllocValCtx, bCheckStatus,布尔值bCheckLifeTime, Int32 bDistTxnActive, BooleanbFreeValCtxOnDispose)Oracle.DataAccess.Client.ConnectionDispenser.Close (OpoConCtx&opconctx,布尔值是contextconnection) atOracle.DataAccess.Client.OracleConnection.Close ()

12c的访问冲突异常

我在ODP的一些构建中看到了这个问题。. NET客户端,特别是非托管的64位版本。

对于我能够调试,反汇编,诊断等,这是ODP中的一个错误。. NET客户端程序集。我最近没有在我们的工具中看到它,所以如果你还没有升级到最新版本,也许你可以升级到最新版本。

Oracle.DataAccess(4.121.2.0)似乎存在问题。我们安装了旧版本的12c,它提供了4.121.1.0版本的Oracle.DataAccess.dll。