.net - 如何以编程方式检查 oracle 版本

标签 .net oracle

我有一个小的 .NET 3.5 程序,如果它无法访问 Oracle 客户端 DLL oci.dll 或如果它在尝试连接到 Oracle 数据库时会引发错误oracle DLL 版本太旧。消息是:

System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.

但是,异常导致程序崩溃。所以我想在程序启动时进行测试,并在需要时优雅地终止它,并通过一条消息通知用户他需要 update/install/fix 安装 Oracle Client。我在堆栈跟踪中看到方法 System.Data.OracleClient.OCI.DetermineClientVersion() 但它似乎不公开。有什么想法吗?

最佳答案

不幸的是,该例程不公开。您可能会绕过它。否则,此页面包含一些替代方案;

https://forums.oracle.com/forums/thread.jspa?threadID=1089440&tstart=15

我特别喜欢读取 TNSPING.EXE 二进制文件并从中确定 ClientVersion 的那个 ;-)

关于.net - 如何以编程方式检查 oracle 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12973640/

相关文章:

c# - 为什么 "new CultureInfo("xx")"在一种环境中引发异常,而在另一种环境中则不会?

c# - 将文件扩展名关联到 C# 应用程序中的应用程序

c# - 以编程方式为桌面 "shortcut"创建快捷键组合

oracle - 如何解决ORA-28040 : No matching authentication protocol with Docker

oracle - ORA-14300 分区键映射到最大允许分区数之外的分区”

java - 更快地插入 Oracle 哈希簇表

.net - System.DirectoryServices.AccountManagement 性能问题?

.net - VB6 格式函数 : analog in . NET

sql - to_char的格式间隔

c - 为了在 C 中使用 SQL,我们需要在程序中包含哪些头文件?