Oracle客户端和ODP.NET版本兼容性

问题描述 投票:0回答:1

我们已经将Oracle升级到19C,还将Oracle.ManagedDataAccess软件包升级到了19.6。但是,当我们尝试在Oracle数据库12上打开应用程序时,由于某些计算机仍具有Oracle 12(旧)数据库,因此它显示错误。有人可以与Oracle客户端共享Oracle数据提供程序(ODP.Net)兼容性详细信息吗?

oracle oracle12c odp.net oracle19c oracle.manageddataaccess
1个回答
0
投票

错误消息并不表示不兼容。看起来Oracle.ManagedDataAccess驱动程序找不到您的tnsnames.ora文件

看看Oracle Data Provider for .NET, Managed Driver Configuration

  • 您是否定义了TNS_ADMIN环境变量?

  • 您是否在注册表中以TNS_ADMIN的形式定义了HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\OraClient19Home1HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Oracle\OraClient19Home1_32bit

    [文档表明未读取注册表,但对于版本19,我不确定

  • 您是否在.NET配置文件中定义了TNS_ADMIN

    最简单的设置方法是OraProvCfg.exe工具。类似于以下内容:

对于64位:

c:\oracle\product\12.1\Client_x64\ODP.NET\bin\4\OraProvCfg.exe /action:config /product:odpm /frameworkversion:v4.0.30319 /providerpath:C:\oracle\product\12.1\Client_x64\odp.net\managed\common\Oracle.ManagedDataAccess.dll /set:settings\TNS_ADMIN:C:\oracle\network\admin 

对于32位:

c:\oracle\product\12.1\Client_x86\ODP.NET\bin\4\OraProvCfg.exe /action:config /product:odpm /frameworkversion:v4.0.30319 /providerpath:C:\oracle\product\12.1\Client_x86\odp.net\managed\common\Oracle.ManagedDataAccess.dll /set:settings\TNS_ADMIN:C:\oracle\network\admin 
© www.soinside.com 2019 - 2024. All rights reserved.