请教各位,感激涕零!关于数据库连接

[复制链接]
查看11 | 回复9 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
我在PLSQL里面这样写:
create public database link SMART.COM connect to smart identified by smart using 'SMART';
SMART.COM是我们的另一个服务器上数据库的SID,我在本机上建立了一个对数据库SMART.COM的命名服务SMART,那个数据库里有一个smart/smart用户,上面那条SQL建立好了数据库连接之后,我执行查询语句,会提示“ORA-12154:TNS:无法处理服务名”,这是为什么呢!?我建立连接的时候哪里处理错了呢!?还是另外还需要其他的设置!?
急坏我了,请各位高手指点迷津!小弟先谢了!!
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
看 服務名中它是否要加入 域名.

create public database link SMART.COM connect to smart identified by smart using 'SMART.domain_name'
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
检查配置init.ora文件global_name = ?
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
你创建DB Link的DB 所在的机器,而不是你本机,其上需要有TNS 的设置,DB 在使用DB Link时只能通过它所在的机器上查找TNS
请检查确认一下
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
Check tnsnames.ora
There must have info of "SMART"
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
TO zhang_yong88:我试了加域名,但是还是不行;TO dgdlchf:SELECT * FROM global_name 返回值是smart.com;TO nyfor:TNS设置没有问题,我用PLSQL连那个smart.com上的smart用户都是可以的;TO rollingpig:there is a severice named 'smart' in the tnsnames.ora,i can sure it!
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
对了,我想补充一点,我的本机是9i的客户端,目前连接的数据库也是9i,但是我建立的DBLINK要连接的对象数据库是一个8i的,会和这个有关系吗!?
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
引用:TO nyfor:TNS设置没有问题,我用PLSQL连那个smart.com上的smart用户都是可以的;
你在客户端用SMART连smart.com能成功不代表server端是配置好的。
用sql/plus连是查找本机中的tnsname.ora文件来解析你的连接串,但要用DBLINK连是server去查找本机上的文件的。所以你要配置好server上的文件。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
要不这样:将using 'SMART'中的'SMART'代替为tnsnames.ora中的(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =

(COMMUNITY = tcp.world)

(PROTOCOL = TCP)

(Host = 127.0.0.1)

(Port = 1521)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
,自己修改里面的配置
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
哦 !各位老大,我明白了,我没有在服务器上配置针对我要连接的数据库服务器的服务命名,我太白痴了!呵呵!谢谢各位!:)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行