当前位置: 代码迷 >> 综合 >> dblink 使用说明
  详细解决方案

dblink 使用说明

热度:75   发布时间:2023-12-22 07:56:27.0

转载自:http://apple-wxs.javaeye.com/blog/281072

 

如果想从主机A 操作主机B 上的数据,可以在主机A上建立一个dblink,link到主机B上,从而操作主机B上的数据。

主机A的tnsnames.ora中配置了主机B的信息

Sql代码
  1. TEST =   
  2.   (DESCRIPTION =   
  3.     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.134)(PORT = 1521))   
  4.     (CONNECT_DATA =   
  5.       (SERVICE_NAME = bs)   
  6.       (INSTANCE_NAME = bs)   
  7.     )   
  8.   )  
TEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.134)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = bs)
(INSTANCE_NAME = bs)
)
)


注:sid:TEST   服务名:bs(通过sid能知道连接的IP,端口)

建立dblink的语法:
create database link link名
connect to 登陆主机B的用户名(没有引号) identified by 登陆主机B的密码
using
'主机B在主机A中的tnsnames.ora中配置的sid';

Sql代码
  1. --删除dblink   
  2. drop database link link_test;   
  3. --建立dblink   
  4. create database link link_test   
  5. connect to apple_wxs identified by apple_wxs   
  6. using 'TEST';   
  7. --查询主机B 上的XXX_t表   
  8. select * from XXX_t@link_test;  
--删除dblink
drop database link link_test;
--建立dblink
create database link link_test
connect to apple_wxs identified by apple_wxs
using 'TEST';
--查询主机B 上的XXX_t表
select * from XXX_t@link_test;


主机A上的tnsnames.ora中没有配置主机B的sid或不知道的情况

Sql代码
  1. CREATE PUBLIC DATABASE LINK  link名   
  2. CONNECT TO username IDENTIFIED BY password  
  3. USING '(DESCRIPTION =   
  4. (ADDRESS_LIST =   
  5. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.134)(PORT = 1521))   
  6. )   
  7. (CONNECT_DATA =   
  8. (SERVICE_NAME = bs)   
  9. )   
  10. )';  
  相关解决方案