社区
Oracle
帖子详情
如何编程获得Oracle客户端的版本?
粉蒸排骨
2007-01-10 01:04:04
我需要编个小程序来检查目标环境满足应用要求,其中一项就是Oracle客户端的版本。
请问如何编程实现?比如在C/C++、Delphi中?有这样的OCI函数吗?
千恩万谢!!!
...全文
818
23
打赏
收藏
如何编程获得Oracle客户端的版本?
我需要编个小程序来检查目标环境满足应用要求,其中一项就是Oracle客户端的版本。 请问如何编程实现?比如在C/C++、Delphi中?有这样的OCI函数吗? 千恩万谢!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
粉蒸排骨
2007-02-07
打赏
举报
回复
问题解决了,我使用了自己的解决方案:
1.通过注册表获取OCI.DLL文件的路径,注意10g和以前的注册表结构不同;
2.然后通过File Version Info API读取oci.dll文件的版本信息;
感谢各位!
ymzapple
2007-01-18
打赏
举报
回复
学习
gangjh
2007-01-18
打赏
举报
回复
Oracle自带的Client安装包很大,
我曾经精简过,只留下必要的dll以及支持文件,
不排除别人也怎么做.
zgh2003
2007-01-17
打赏
举报
回复
一般的客户端都自带了sqlplus,不需要强制客户安装啊;如果客户端只是通过oci与服务器进行连接的话,那都是肯定有应用程序在支持,既然有应用程序在支持,你还用写程序来校验客户端版本吗?或者说通过oci进行的连接都是在程序里写死的,那还不得改应用程序来支持与服务器端的连接。另外一种情况就是,如果客户端都是通过tnsname来与服务器端进行连接,这样的客户端一般都有sqlplus,如果没有的话,我认为可以考虑通过约束规则来要求用户必须安装符合需求的客户端版本,而不是通过程序来检测或约束,如果真想通过程序的完善来达到服务的目的,在客户第一次登录时,强行下载最新的客户端来安装。
以上是个人见解 :)
粉蒸排骨
2007-01-16
打赏
举报
回复
to zgh2003(世纪飞扬):为什么不存在呢?现在就是存在啊。不能强制要求客户安装SQLPLUS啊。
ymzapple
2007-01-16
打赏
举报
回复
学习!!!
zgh2003
2007-01-16
打赏
举报
回复
如果真是只是运行oci的话,应该就不存在楼主提的需求了.
gangjh
2007-01-16
打赏
举报
回复
運行oci的系統不一定會裝sqlplus
zgh2003
2007-01-16
打赏
举报
回复
你试试通过运行终端的SQLPLUS /NOLOG命令看看能不能读取这个版本号.当然不同版本的终端可能运行的命令有所区别,这点你得注意一下.
粉蒸排骨
2007-01-15
打赏
举报
回复
to zgh2003(世纪飞扬):谢谢!这个键我也搜到过,不过这是MTSRecoveryService的版本号啊?不是每个客户端都会安装的。
zgh2003
2007-01-13
打赏
举报
回复
我搜到的9i在注册表中的位置,hkey_local_machine/software/oracle/oraclemtsrecoveryservice/setup/current version/version/
但我装的是服器版,你查查只装客户端的有没有.
qiyousyc
2007-01-12
打赏
举报
回复
查找一下oci,在9i中,还真没有OCIClientVersion这个。看来,你的问题只能通过读客户端的注册表实现了。
粉蒸排骨
2007-01-12
打赏
举报
回复
to qiyousyc(沈阳棋友):
全程搜索了注册表,没有发现明确的版本号键值。
粉蒸排骨
2007-01-11
打赏
举报
回复
感谢gangjh(阿飛),终于看到了“官方”的方法。可是好像10g才有这个函数吧?
我的客户运行着不同版本的Oracle客户端,7/8i/9i/10g都可能有,我要求他们至少8i。这就是我需要做这个小程序的原因。
gangjh
2007-01-11
打赏
举报
回复
#include "ociap.h"
函數
/*----------------------- OCIClientVersion ------------------------------*/
void OCIClientVersion(sword *major_version,
sword *minor_version,
sword *update_num,
sword *patch_num,
sword *port_update_num);
/*----------------------- End OCIClientVersion --------------------------*/
tgm78
2007-01-10
打赏
举报
回复
目前可能做不到哦
看是可以的。
在你的client端,用sqlplus连接,前面显示你的client端的版本,后面显示server端的版本
givenchy
2007-01-10
打赏
举报
回复
可以查看注册表吧
givenchy
2007-01-10
打赏
举报
回复
帮顶
tgm78
2007-01-10
打赏
举报
回复
获取client端的版本?
粉蒸排骨
2007-01-10
打赏
举报
回复
感谢mengqifeng(追逐)!!!
可是你给的是判断服务器版本的方法吧?
加载更多回复(3)
Oracle
8i_9i数据库基础
编程
学习文档,有关于
oracle
的东西。 详细的资源描述有机会
获得
我们的推荐,更有利于他人下载,赚取更多积分。
Direct
Oracle
Access v4.1.3 bcb6
Direct
Oracle
Access 组件有两种
版本
,Direct
Oracle
Access Standard version 和 Direct
Oracle
Access Object version Object版允许你通过T
Oracle
Object和T
Oracle
Reference 对象使用
Oracle
8的对象扩展。 如果...
基于java和jsp的聊天系统完整源码(含配套jsp网站)
access版的服务端和
客户端
两个已经做好的XP平台安装程序可以在本人以下资源中
获得
: 服务器端安装程序: http://download.csdn.net/source/2868898
客户端
安装程序 :http://download.csdn.net/source/2868866 先...
oracle
客户端
下哪个
版本
好,确定我正在运行哪个
版本
的
Oracle
客户端
的最佳方式是什么?...
您也可以转到
客户端
安装的“relnotes”目录中的自述文件。
版本
10.2有一个名为README_jdbc.txt的文件,例如,它会告诉你哪个
版本
已经安装。您可以针对当前会话标识( SYS_CONTEXT USERENV命名空间的SYS_CONTEXT )...
oracle
客户端
测试连接失败,
oracle
客户端
PLSQL连接失败解决方法
上周博客中写了
oracle
客户端
连接服务器的文章,解决了在自己本本上安装的烦恼。原来自己的电脑与服务器在一个局域网,所以每次都是远程服务器,但是远程也不是解决的办法哈,因为多个人使用同一个服务器,所以使用...
Oracle
17,082
社区成员
55,236
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章