【发布时间】:2012-02-21 08:30:09
【问题描述】:
我有一个使用 Oracle.DataAccess (ODP.NET) 的 XCOPY 可部署 .NET 应用程序。我们还在应用程序目录中部署了 Oracle Instant 客户端。一切正常,但我担心..
来自 Oracle ODP.NET 常见问题解答:
从 ODP.NET 10.1.0.3 开始,Oracle 安装程序将注册 全局程序集缓存 (GAC) 中的以下发布者策略 DLL 将 9.2、10.1 和 10.2 ODP.NET 应用程序重定向到使用最后一个 已安装的 ODP.NET 版本:Policy.9.2.Oracle.DataAccess.dll 和 Policy.10.1.Oracle.DataAccess.dll
这意味着在安装了 Oracle ODP.NET 的机器上,将使用 GAC 中的版本,而不是我随应用程序部署的版本。而且由于发布者政策,该版本可能比我使用我的应用程序部署的版本更新。 Oracle.DataAccess 需要也与我的应用程序一起部署的 Oracle (Instant) 客户端。这些是本机 Win32 DLL,因此将使用我的版本。
Oracle 是否有可能将 Oracle.DataAccess 升级到可能与随我的应用程序一起部署的 Oracle Instant Client 不兼容的新版本?从而在将来破坏我的应用程序。
这是个问题吗?我可以避免吗?在机器上不安装/删除任何东西的情况下,我是否可以覆盖 Oracle Publishers 策略以保证我使用通过我的应用程序 xcopy 部署的 Oracle.Dataaccess 版本?
对于给定版本的 ODP.NET,它支持哪些 Oracle 客户端版本?新版本的 Oracle.DataAccess 是否支持旧版本的 Oracle(即时)客户端。
【问题讨论】:
-
Oracle 现在发布了一个完全托管的提供程序,没有这些问题。 oracle.com/technetwork/topics/dotnet/index-085163.html
-
此外,最新版本的 Oracle 安装程序现在可以选择不在 GAC 或机器配置中添加任何内容。