免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2661 | 回复: 1
打印 上一主题 下一主题

请教高人:Linux下用OCI远程访问oracle,远端数据库在OCIServerAttach()中怎么指定? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-14 09:17 |只看该作者 |倒序浏览
我在Linux + eclipse下编程访问远端oracle数据库,我的机子上已装了oracle 的instant client ,采用oci库,其中库定义函数原形:OCIServerAttach ( OCIServer    *srvhp,  OCIError     *errhp, const OraText   *dblink,    sb4      dblink_len,      ub4          mode);

我想第三个参数就是远程oracle数据库的IP地址之类,我调用如下:
char Tns[50];
strcpy(Tns,“172.66.1.2");  //  Ip地址
......errorNo = OCIServerAttach(hSvr, hDBErr, (text*)Tns, strlen(Tns), 0);"
结果报错:
ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA

我以为是没指定监听端口,修改:
strcpy(Tns,“172.66.1.2:1521");  //  前面为Ip地址,后面为监听端口
errorNo = OCIServerAttach(hSvr, hDBErr, (text*)Tns, strlen(Tns), 0);"
结果报错:Cannot insert breakpoint -41.
Error accessing memory address 0xc1d9a6b2: \350\276\223\345\205\245/\350\276\223\345\207\272\351\224\231\350\257\257.


哪位高人指点,不胜感激!多谢!

[ 本帖最后由 肖申克 于 2008-11-14 10:10 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-11-24 19:48 |只看该作者
解决问题了:原来是个伪问题:因为只是个警告:Warning: Cannot insert breakpoint -41. Error accessing memory address 0xc1d9a6b2: \350\276\223\345\205\245/\350\276\223\345\207\272\351\224\231\350\257\257.

所以不以单步执行 errorNo = OCIServerAttach(hSvr, hDBErr, (text*)Tns, strlen(Tns), 0);" ,就不会出警告!即使单步执行此句,不理此警告,继续单步下去,也能成功执行完此句!

折腾了两天,很煎熬!才发现原来是个伪问题!
前车之鉴!
另外我发现在linux下装了访问oracle的客户端instant client 后,似乎真的不需要tnsnames.ora 文件,oracle官方instant client介绍也是这么说的:见连接:http://download.oracle.com/docs/ ... oci01int.htm#423364

中的此句:All Oracle net naming methods that do not require use of ORACLE_HOME or TNS_ADMIN (to locate configuration files such as tnsnames.ora or sqlnet.ora) work in the Instant Client mode,不知我的理解对否?

多谢各位热心人!

[ 本帖最后由 肖申克 于 2008-11-24 20:02 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP