日期:2014-05-17  浏览次数:20824 次

如何编程获得Oracle客户端的版本?
我需要编个小程序来检查目标环境满足应用要求,其中一项就是Oracle客户端的版本。
请问如何编程实现?比如在C/C++、Delphi中?有这样的OCI函数吗?


千恩万谢!!!

------解决方案--------------------
获取client端的版本?

------解决方案--------------------
帮顶
------解决方案--------------------
Select version FROM Product_component_version
Where SUBSTR(PRODUCT,1,6)= 'Oracle ';
------解决方案--------------------
#include "ociap.h "
函數
/*----------------------- OCIClientVersion ------------------------------*/
void OCIClientVersion(sword *major_version,
sword *minor_version,
sword *update_num,
sword *patch_num,
sword *port_update_num);
/*----------------------- End OCIClientVersion --------------------------*/


------解决方案--------------------
查找一下oci,在9i中,还真没有OCIClientVersion这个。看来,你的问题只能通过读客户端的注册表实现了。
------解决方案--------------------
我搜到的9i在注册表中的位置,hkey_local_machine/software/oracle/oraclemtsrecoveryservice/setup/current version/version/
但我装的是服器版,你查查只装客户端的有没有.
------解决方案--------------------
你试试通过运行终端的SQLPLUS /NOLOG命令看看能不能读取这个版本号.当然不同版本的终端可能运行的命令有所区别,这点你得注意一下.
------解决方案--------------------
運行oci的系統不一定會裝sqlplus
------解决方案--------------------
如果真是只是运行oci的话,应该就不存在楼主提的需求了.
------解决方案--------------------
学习!!!