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