免费注册 查看新帖 |

Chinaunix

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

请问知道oracle的ip,sid,username与password 如果何程联接 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-02 22:35 |只看该作者 |倒序浏览
请问知道oracle的ip,sid,username与password 如何程联接?
oracle 8.17i
windows 2000
开发语言c/c++

不能通过net8 assistant 手工来配置一个服务名,有什么办法联接上相应的oracle服务器呢?
(因为ip有可能改变...)

[ 本帖最后由 erehw 于 2006-8-3 09:38 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-08-02 22:52 |只看该作者
我不知道你是使用ado,odbc还是occi接口来连oracle, 在connect方法中的connect string你可以使用
“(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=xxx.xxx.xxx.xxx) (PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=test1)))”字符串直接传进去,不需要在客户端tnsnames.ora里面设置

论坛徽章:
0
3 [报告]
发表于 2006-08-03 09:00 |只看该作者
谢谢解答,我先去试试ADO.

论坛徽章:
0
4 [报告]
发表于 2006-08-03 09:09 |只看该作者
非常感谢,实践成功:
我原来的联接串如下:

  1. char * strConnectFmt = _T("Provider=OraOLEDB.Oracle;Data Source=%s;"
  2.       "User Id=%s;Password=%s;");
复制代码

后来修改如下:

  1. char * strConnectFmt = "Driver={Microsoft ODBC for Oracle}; CONNECTSTRING=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=10.11.2.38) "
  2. "(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=oracle_的SID)));uid=用户;pwd=口令;";

复制代码

后面的代码不作任何修改就ok了..

[ 本帖最后由 erehw 于 2006-8-3 09:10 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2006-08-04 01:08 |只看该作者
麻烦问下,为什么不需要设置 tnsnames.ora

论坛徽章:
0
6 [报告]
发表于 2006-08-05 23:03 |只看该作者
原帖由 gongzidong 于 2006-8-4 01:08 发表
麻烦问下,为什么不需要设置 tnsnames.ora


tnsnames.ora(或者说 oracle的names解析)也即一个映射关系,起即将此数据库对应到某一IP+端口+SID的作用.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP