【发布时间】:2010-07-22 07:07:54
【问题描述】:
我在 .Net 上有一个非常简单的应用程序,它使用 ODP 连接到 Oracle(使用 Oracle.DataAccess dll 10.2 编译)。 我想在其他计算机上安装此应用程序之前检查“连接先决条件”(应用程序将能够连接到数据库)?
如何检查目标主机上是否安装了 ODP.NET 10.2 或更高版本(注册表检查不足)?
我知道我可以检查注册表中的 ODP 条目 - 但这不会检查 Oracle 客户端以及客户端与 ODP 之间的兼容性。 此外,如果 ODP 是通过 ODAC XCopy 安装安装的 - 新 ODP 条目可能不会更新注册表。 并且——如果我在电脑上安装,DB是安装在上面的,Oracle Client不能单独安装。
还有一个问题:当我尝试从安装运行“测试连接”方法时,该方法在机器上使用引用的 dll,只有 ODAC(带 ODP)11,-“Oracle.DataAccess.Client.OracleException 提供程序是与 Oracle.DataAccess.Client.OracleInit.Initialize() 处的 Oracle 客户端版本不兼容 在 Oracle.DataAccess.Client.OracleConnection..cctor() 处抛出错误消息(GAC(程序集)中存在 ODAC 10.2 和 11 的策略,从 ODP 2x bin 指向 Oracle.DataAccess 11)。
那么,我可以检查哪些组件以及如何检查以确保安装了适当版本的 ODP 和 Oracle 客户端并连接了应用程序?
提前致谢!
【问题讨论】:
标签: oracle odp.net oracleclient