CREATE PUBLIC DATABASE LINK dblink_for_b CONNECT TO username_in_b IDENTIFIED BY <password> USING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = <ip_for_server_b>)(PORT = <port_number_default_1521>))) (CONNECT_DATA = (SERVICE_NAME = <database_service_name>)))';
知道了,其实就是TNS那个名字。
建立db link的时候有一个授权"authenticated by",要设置吗?
只有在設置了shared參數時,才需要設置authenticated by
我见了一个DBLINK create public database link LK2JDECTL900 connect to JDECTL900 identified by JDECTL900 using 'E1Local';使用: select * from F0005@LK2JDECTL900提示:ORA:12154,应该是TNS没有找到。 但是我TNS配置应该没有问题,因为在DSN里面建立并测试的时候是可以连通的。
我的A,B数据库不再一台Server上,这种情况怎么写?
CONNECT TO username_in_b
IDENTIFIED BY <password>
USING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = <ip_for_server_b>)(PORT = <port_number_default_1521>))) (CONNECT_DATA = (SERVICE_NAME = <database_service_name>)))';
create public database link LK2JDECTL900
connect to JDECTL900 identified by JDECTL900
using 'E1Local';使用:
select * from F0005@LK2JDECTL900提示:ORA:12154,应该是TNS没有找到。
但是我TNS配置应该没有问题,因为在DSN里面建立并测试的时候是可以连通的。