目前,我们在服务器 VM 上安装了 Oracle 客户端,但我们希望在 Azure Service Fabric 上使用 Oracle Instant Client(无需安装)。我设法让它在版本 11 上工作,但在 v12 上我仍然遇到错误(远未连接到数据库):
“'Oracle.DataAccess.Client.OracleParameter' 的类型初始化程序引发异常:提供程序与 Oracle 客户端的版本不兼容”
同样:它无需安装 Oracle.DataAccess.dll 4.112.3.0 和 Instant Client 11.2.0.3(均为 x32)即可工作,但仍无法与最新版本通信。
我已经使用了几篇 Instant Client 操作方法文章,但它们都非常旧(~2013 年),带有指向 Oracle 下载的非活动链接......我也不能使用 System.Data.OracleClient 命名空间,因为它缺少我们需要的一些功能(fe XxmlType 或自定义类型)所以我需要参考 Oracle.DataAccess.dll
这是我尝试过的步骤。请指出我做错了什么......
下载并安装 OracleClient 12.1.0.1.0 (Oracle.DataAccess.dll v4.121.1.0) - ODAC122010_x64
将 Oracle.DataAccess.dll 从 Oracle 主目录(安装位置)\odp.net\bin\4 复制到我的项目并引用它
从 Oracle 网站下载 Instant Client。版本 12.1.0.1.0 - 与 Oracle.DataAccess.dll 相同
我也设置了这样的环境:
Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory;
在本地工作(安装了 Oracle),但在 Azure 上发布时显示异常