求助存储过程动态连接远程数据库的问题
现在有几个数据库,分别是本地数据库(A)和核心数据库(B,C....)
A数据库需要连接到核心数据库进行数据的操作,目前想到的方法是用存储过程来做,但查阅资料都是讲要在
文件下如:
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))
)
)
才能操作,由于我有很多个核心数据库要连接,不允许我手动给每一个核心数据库添加link,所以最好的方法是在存储过程中完成连接,不要配置link。有木有什么好的解决方案啊?
PS:我是oracle菜鸟哈,但公司任务,没办法解决,求大神帮忙。
------解决方案--------------------
创建dblink可以不修改tnsnames.ora的。
例如
create database link linkToB
connect to scott identified by oracle
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bylw)
)
)';