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) ) )';