高分求VB下可二次开发的Oracle 封装OCI组件,分不够可加

飞天神笔 2009-01-16 01:24:40
  我们单位基本上只用Oracle数据库,所以好多电脑上可能会有多个应用程序使用到oracle客户端,而每个应用程序又可能是不同的人开发的。对于Windows下的Oracle客户端来说,系统只认其中一个oracle客户端的tnsnames.ora文件中所描述的数据库连接指向,这样就导致多个应用程序无法使用各自安装的Oracle客户端,而必须共用一个Oracle客户端。
  一般情况下,我们可以考虑把所有应用程序要用到的数据库连接指向都描述在其中一个Oracle客户端的tnsnames.ora中。但我们这有一个特殊情况,有一个经常要用到的应用系统每次运行时会自动描述并下载Oracle 8i的简宜客户端,而且会强行导入oracle 8i的部分相关注册表信息(直接导致电脑中已安装的其它Oracle客户端无法使用)。

  在网上找了许多资料,说可以直接用Oracle的OCI进行数据库操作,而且能实现不依赖tnsnames.ora文件的SQL*Net功能(直接在程序代码中指定Oracle服务器的IP和SID,而不是在tnsnames.ora文件中指定IP和SID)。可网上都只有些VC++的OCI封装组件或教程,没有VB的。

  哪个大哥有VB可用的Oracle OCI封装组件(最好是免费的,或带破解的)提供给俺用用啊。
...全文
143 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yulihua49 2009-02-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 xiaojian 的帖子:]
  我们单位基本上只用Oracle数据库,所以好多电脑上可能会有多个应用程序使用到oracle客户端,而每个应用程序又可能是不同的人开发的。对于Windows下的Oracle客户端来说,系统只认其中一个oracle客户端的tnsnames.ora文件中所描述的数据库连接指向,这样就导致多个应用程序无法使用各自安装的Oracle客户端,而必须共用一个Oracle客户端。
  一般情况下,我们可以考虑把所有应用程序要用到的数据库连接指向都描述在其中一个…
[/Quote]
有C的,可以被VB调用的DLL。
在网上搜一下sqlora8,或libsqlora8。3.2.3版可用于10G或11G。
飞天神笔 2009-01-22
  • 打赏
  • 举报
回复
  我也是出于无奈。我们单位的上级部门有一套B/S模式的系统,该系统中的某些控件又用了C/S的方式,所以在第一次进入这套系统时,会自动下载Oracle8的简单运行包并将Oracle8i的相关文件(含固定的tnsnames.ora文件)安装到C盘某固定的目录下,同时用Oracle8i的注册表相关信息强行覆盖客户端电脑的注册表。当用户第二次进入该系统时,该系统会自动检测原安装的Oracle8i的文件情况,有任何变动则自动修复。

  由于这是上级部门提供的系统,而且要求我们每个人都要用那套系统。现在,我们自己要开发一些应用软件,也需要用到Oracle客户端,但数据库的连接指向与上级部门提供的系统的数据库连接指向是不同的。如果我们在安装自己的应用软件时修改Oracle8i的tnsnames.ora的话,只要用户一进入上级的系统,那个tnsnames.ora就被复原回去了,将导致我们自己的应用系统无法正常运行。如果我们在电脑中安装另一套Oracle的话,就出现我在第1楼描述的那种情况。所以我考虑在我们自己的系统用OCI的方式访问数据库,这样就与上级部门提供的系统无冲突了。
jdsnhan 2009-01-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 xiaojian 的帖子:]
  我们单位基本上只用Oracle数据库,所以好多电脑上可能会有多个应用程序使用到oracle客户端,而每个应用程序又可能是不同的人开发的。对于Windows下的Oracle客户端来说,系统只认其中一个oracle客户端的tnsnames.ora文件中所描述的数据库连接指向,这样就导致多个应用程序无法使用各自安装的Oracle客户端,而必须共用一个Oracle客户端。
  一般情况下,我们可以考虑把所有应用程序要用到的数据库连接指向都描述在其中一个…
[/Quote]

还真没用过vb下的oci。
每次都下载不是一个好主意,至少应该判定本机是否存在相关的内容,没有下载,有则不动。
oraclelogan 2009-01-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 xiaojian 的帖子:]
  我们单位基本上只用Oracle数据库,所以好多电脑上可能会有多个应用程序使用到oracle客户端,而每个应用程序又可能是不同的人开发的。对于Windows下的Oracle客户端来说,系统只认其中一个oracle客户端的tnsnames.ora文件中所描述的数据库连接指向,这样就导致多个应用程序无法使用各自安装的Oracle客户端,而必须共用一个Oracle客户端。
  一般情况下,我们可以考虑把所有应用程序要用到的数据库连接指向都描述在其中一个…
[/Quote]

帮顶吧!
vansoft 2009-01-20
  • 打赏
  • 举报
回复
不明你的意思,但我们从未碰上你说的情况。

简单的说,是你们的想法或设计上有点问题。

程序应该提供配置界面,配置连接的参数信息即可。
跟tnsnames.ora里的一样,只要里面配置的能连上,就能接上。


至于ORACLE的客户端,只要装一个版本就行了。
根本就不需要安装不同的版本。看你的情况,建议全部安装8i的客户端。
dawugui 2009-01-19
  • 打赏
  • 举报
回复
帮顶

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧