1

我有两个用 C# .NET 开发的应用程序攻击 Oracle 10g 数据库,现在客户正计划将数据库升级到 Oracle 18c。其中一个应用程序是 Web 应用程序,另一个是桌面应用程序。目前我正在使用 Oracle.DataAccess.dll 并且它工作正常。升级后我的应用程序会继续正常工作,还是应该用另一个 dll 重新编译我的应用程序?

4

1 回答 1

0

这取决于您的Oracle.DataAccess.dll. 您没有告诉我们,所以请查看不同 Oracle 版本的客户端/服务器互操作性支持矩阵(文档 ID 207303.1)

在此处输入图像描述

如果您的数据库是 10.2.0,那么Oracle.DataAccess.dll版本 11.2 和 12.1 应该可以工作,否则您必须升级您的 Oracle 客户端。

请注意,Oracle.DataAccess.dll 的版本必须与 Oracle 客户端完全匹配。安装多个 Oracle 客户端可能是一项挑战,最好在安装新客户端之前完全删除旧版本。

如果您将安装 Oracle Client 12.2 或更新版本,请查看:SSMA 无法找到指定的提供程序

通常您不必重新编译您的应用程序。如果Oracle.DataAccess.dll在 GAC 中定义,那么您的应用程序将自动加载Oracle.DataAccess.dll由 GAC 策略驱动的正确版本。

于 2020-01-14T07:22:32.040 回答