我需要通过程序确定服务器上每个 Oracle 主目录中安装的 Oracle 版本。由于主页中可能还没有创建任何数据库,因此我需要能够在数据库之外执行此操作(即,无需连接到数据库)。此外,最好能够从远程程序执行此操作。
这是来自运行 .Net(C#,如果重要的话)的 Windows 程序。
我目前正在读取远程注册表项(使用此技术:How to Read Remote Registry Keys?),以根据 this method 查找所有 Oracle Homes .这工作正常,但是,我查看了这些 key ,没有看到任何关于确切版本/发布的信息。
Oracle Home 本身的名称当然是 1) 不是可靠的指标,并且 2) 没有确切的版本/发行版(例如“10.2.0.4.0”)。基本上,我正在寻找一种方法来了解 Oracle Universal Installer 在“已安装产品”按钮中告诉您的内容。
最佳答案
在PATH
中搜索文件oci.dll
,这是Oracle Client 安装的主要文件之一。您可以使用 FileVersionInfo.GetVersionInfo("oci.dll");
为了获取 Registry Hive,在 PATH(即 Oracle Home)中搜索文件 oracle.reg
。此文件是包含注册表项的简单文本文件,例如 SOFTWARE\ORACLE\KEY_OraClient11g_home1
。您将在 HK_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient11g_home1
中找到相关的注册表值
`
关于c# - 以编程方式确定 Oracle Home 安装版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35609327/