老大们救救我吧,oracle客户端打包问题

collision 2004-09-12 01:56:13
我在应用程序里调用的ADO访问远程oracle服务器,用oracle安装盘装上客户端我的程序一点问题都没有,现在我想把我的程序和oracle客户端一起打包,我的程序才20M可客户端进100M,而且我还不知道注册哪些是用到的dll,令外还有怎么修改注册表,请大家帮忙!!
我在网上也搜了不上相关的文章,试了两天我的总结如下:
1。按着文章的说法只能是用sqlplus连接oracle,换了我的程序还是不行,我想主要的问题是没有监听我程序发出的ADO请求,可能是那个dll我没有注册,它也没有运行,所以我的程序发布出ADO请求。
请大家帮忙!!!
(我看的文章是:http://dev.csdn.net/develop/article/29/29769.shtm)
...全文
555 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
collision 2004-09-14
  • 打赏
  • 举报
回复
chanet(牧师) 大牛,在你的精心指引之下我终于实现了我的想法,其实当天就实现了,现在对你说声谢谢.
chanet 2004-09-12
  • 打赏
  • 举报
回复
"我上oracle上下了,可怎么都下不来,可能他们现在有问题了"

呵呵... 原因是你没有登录,点击右上角的(Register for a free Oracle Web account) 来登录就行了.

另:我已经发送一个给你了.
collision 2004-09-12
  • 打赏
  • 举报
回复
chanet(牧师) 老大,我上oracle上下了,可怎么都下不来,可能他们现在有问题了,你能不能给我传一个阿,不胜感谢!
我们的服务器是oracle 8.16的!!!
再次感谢!!!
我的QQ是17503089
e-mail:refugeees@163.com
chanet 2004-09-12
  • 打赏
  • 举报
回复
1. 很高兴你可以成功用客户端与服务端建立连接. :)
2. "用MS ODBC for oracle是不是可以代替用oracle装的ODBC驱动?"
主要看你开发时的选择了. 至于那个好,暂时没有看到专业权威的文章介绍。:)

Oracle 所提供的ODBC: http://www.oracle.com/technology/software/tech/windows/odbc/index.html

collision 2004-09-12
  • 打赏
  • 举报
回复
chanet(牧师): 老大就是老大,老大一语使我如拨云见日一般,明白了我错在哪里了,我现在缺的就是ODBC驱动,老大说“这个用 oracle 安装程序来装的话,就会有”,那我不用oracle装还有没有别的办法,还有用MS ODBC for oracle是不是可以代替用oracle装的ODBC驱动?

注:我按着那篇文章的说法已经与服务器建立了连接(是用sqlplus测试的)。所以我想我的程序ADO语句不能执行一定是ODBC驱动没装了。
chanet 2004-09-12
  • 打赏
  • 举报
回复
1. 监听是服务端监听连入库的问题,与客户端无关;

2. 关于DLL,在windows所注册的dll和ocx这些一样,就是使用对象(com类).但在Oracle与这个没多大关系.主要是知道 dll 的目录,用来调用就行;

3. 正如那篇文章所说,打包客户端,主要是打包文件、写注册表、写环境变量;

4. 打包之后,可以用 bin\tnsping.exe 来ping一下配置是否完成. 但这仅仅保证Oracle客户端可以服务端相连,ADO 是基于 ODBC 上,所以还要选择ODBC驱动~ 驱动有 MS ODBC for oracle 和 Oracle 提供的两种. 这个用 oracle 安装程序来装的话,就会有.

5. 建议,先保证客户端与服务端相连通后,再去搞ODBC连接~


btw: 如果用 delphi/bcb 开发的话,可以用 ODAC 来访问,完全oracle客户端无关. :)
collision 2004-09-12
  • 打赏
  • 举报
回复
chanet(牧师):老大,你不是让我把他们都注册了吧!!!
我看过了http://dev.csdn.net/develop/article/29/29769.shtm这篇文章,也试了,不行,我面临的问题是我作的应用程序我能用ADO访问ORACLE,我还是觉得没有监听是不行的。
chanet 2004-09-12
  • 打赏
  • 举报
回复
27个主要的 DLL 文件:
oci.dll
oraclient8.dll
oracommon8.dll
oracore8.dll
orageneric8.dll
oraldapclnt8.dll
oran8.dll
ORANCDS8.DLL
orancrypt8.dll
oranhost8.dll
oranl8.dll
oranldap8.dll
ORANLS8.DLL
oranms.dll
oranmsp.dll
orannds8.dll
orannzsbb8.dll
oranoname8.dll
oranro8.dll
orantcp8.dll
orantns8.dll
ORAPLS8.DLL
ORASLAX8.dll
ORASQL8.DLL
oratrace8.dll
oravsn8.dll
orawtc8.dll
collision 2004-09-12
  • 打赏
  • 举报
回复
chanet(牧师):
这些我知道,我是不知道要注册那写,我认为修改HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 键下的值是没用的,我在我装有oracle客户端的机器上把此键值删除,我的程序赵样可用,我想还是有没注册的dll或是服务。
谢谢!!!
chanet 2004-09-12
  • 打赏
  • 举报
回复
"而且我还不知道注册哪些是用到的dll,令外还有怎么修改注册表,"

1. \bin 下的dll.
2. 找台装过Oracle客户端的机子,分析一下它的注册表 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 目录

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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