oracle创建dblink问题

1、如果在本地"D:oracleproduct11.2.0dbhome_1NETWORKADMIN nsnames.ora"中设置 服务器数据库连接,必须再服务器设置同一个名字的配置:

例如:

本地

1 prepaid =
2   (DESCRIPTION =
3   (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.4)(PORT = 1521))
4   (CONNECT_DATA =
5   (SERVER = DEDICATED)
6   (SID = prepaid)
7   )
8   )

服务器

1 prepaid =
2   (DESCRIPTION =
3   (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
4   (CONNECT_DATA =
5   (SERVER = DEDICATED)
6   (SID = prepaid)
7   )
8   )

创建dblink的语句

1 create public database link linkname connect to s_user identified by s_pwd using 'prepaid';

如果只在本地创建,查询报错:

SQL> select * from scott.emp@mylink;
select * from scott.emp@mylink
                        *1 行出现错误:
ORA-12154: TNS: 无法解析指定的连接标识符

---------------------------------------------------------------

2、不设置,在创建语句中直接指定

create public database link dblinkname connect to username identified by password
   using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = database_ip)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME =servicename)
)
)';
原文地址:https://www.cnblogs.com/kingxiaozi/p/4813445.html