2

我们已将 Oracle 升级到 19C,并将 Oracle.ManagedDataAccess 包升级到 19.6。但是,当我们尝试在 Oracle 数据库 12 上打开我们的应用程序时,它会显示错误,因为某些机器仍然具有 Oracle 12(旧)数据库。有人可以与 Oracle 客户端分享 Oracle 数据提供程序 (ODP.Net) 兼容性详细信息吗?

4

1 回答 1

0

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

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

  • 你定义了TNS_ADMIN环境变量吗?

  • TNS_ADMIN您是否在注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\OraClient19Home1分别定义了?HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Oracle\OraClient19Home1_32bit?

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

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

    设置它的最简单方法是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 
于 2020-02-04T10:39:08.760 回答