2010-03-09 113 views
0

我特林使用数据库链接,我首先改变这两个数据库的名称SOL1(远程)和SOL3(本地)然后创建一个数据库链接如何连接到Oracle的两个数据库使用dblink的

在SOL3

CREATE DATABASE LINK SOL1.SWORLD 
CONNECT TO TEST IDENTIFIED BY TEST USING SOL1; 

LINK CREATED 
ON SQL /> SELECT * FROM [email protected] 

消息:

SQL无法解析服务名称

然后我删除了数据库链接,并从Oracle企业架构管理器创建链接 我创建了一个固定用户的公共链接。登录名和密码后,我在服务选项卡中添加名称为sol1

当我测试连接按摩出现

Link是不活跃

回答

2

我相信这是你的问题的根源:

SQL无法解析服务名称

这表示SOL1不在tnsnames.ora中,条目无效或者某些网络连接问题阻止Oracle将服务名称转换为地址。

0

确保您的tnsnames文件中有条目。

NAME (DESCRIPTION (ADDRESS_LIST (ADDRESS = (PROTOCOL = TCP 
)(HOST = host)(PORT = 1521)) 
) 
(CONNECT_DATA (SERVICE_NAME = NAME) 
) 
) 

您现在可以在任一方向创建链接。

create public database link "link name" 
connect to schemaname 
identified by " " 
using 'servicename(from tnsnames entry) 
; 

您的链接也可以是私人的。