我有一个小的.NET 3.5
程序在尝试连接到Oracle数据库时会出现错误,如果它无法访问Oracle client DLL oci.dll
或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()
,但似乎不公开。有什么想法吗?
答案 0 :(得分:1)
不幸的是,例行程序不公开。你可能会破解你的方式。否则此页面包含一些替代方案;
https://forums.oracle.com/forums/thread.jspa?threadID=1089440&tstart=15
我特别喜欢读取TNSPING.EXE二进制文件并从中确定ClientVersion的那个; - )