由于项目需要,需在存储过程中连接远程数据库完成数据的抽取工作。做个记录^^
在此文件下
G:/oracle_test/product/10.2.0/db_1/NETWORK/ADMIN/tnsnames.ora
添加:
link =
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP)(PORT = 1521)))(FAILOVER=yes)(LOAD_BALANCE=yes)
(CONNECT_DATA =(SERVER = DEDICATED)
(SERVICE_NAME = 数据库SID)(failover_mode=(type=select)(method=basic))
)
)
查看当前用户有哪些权限
select * from user_sys_privs;
使用DBA登陆
创建DBLINK的权限:create database link to sampledata;
删除DBLINK的权限:drop database link from sampledata;
用户操作存储过程权限:
grant execute any procedure to sampledata;
grant alter any procedure to sampledata;
grant create any procedure to sampledata;
grant drop any procedure to sampledata;
使用sampledata用户登陆创建DBLINK,不能sysdba
SQL> create database link 连接名称 connect to

本文记录了如何在Oracle存储过程中利用DBLINK连接远程数据库进行数据抽取。首先在tnsnames.ora配置文件中添加远程数据库链接信息,然后通过DBA权限创建、删除DBLINK,并为用户授予执行存储过程的权限。最后,创建DBLINK并测试从远程数据库查询数据。

5608

被折叠的 条评论
为什么被折叠?



