实现结果:在一个数据库中某个用户下编写一个存储过程,在存储过程中使用DBLINK连接另一个数据库,从此数据库中的一个用户下取数,然后插入当前的数据库中的一个表中。
- 创建DBLINK的方法:
-- 创建public的DBLINK
create public database link DBLINK名字
connect to 用户名 identified by 密码
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 服务器IP)(PORT = 1521)))
(CONNECT_DATA
(SERVICE_NAME = 数据库名)
)
)';
-- 创建private的DBLINK
create database link DBLINK名字
connect to 用户名 identified by 密码
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 服务器IP)(PORT = 1521)))
(CONNECT_DATA
(SERVICE_NAME = 数据库名)
)
)';
- 连接成功后从所连接的数据库中取数的方法:
select * from tbl_ost_notebook@dblink;
-- 说明:只需在表名的后面加上"@DBLINK名字"即可。
- 在当前数据库下查看所有的DBLINK的方法:
select * from dba_db_links;
- 删除当前数据库下的一个指定的DBLINK的方法:
-- 删除public的DBLINK
drop public database link DBLINK名字;
-- 删除private的DBLINK
drop database link DBLINK名字;