我們有時候需要在本地數據庫的存儲過程中
在存儲過程中連接遠程數據庫並進行操作
SERVICE_NAME
兩種方式:
第一種 more $ORACLE_HOME/network/admin/tnsname
一般是數據庫的SID
第二種 echo $ORACLE_SID
vi $ORACLE_HOME/network/admin/tnsname
添加如下
DB
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 遠程數據庫地址hotname)(PORT =
)
(CONNECT_DATA =
(SERVICE_NAME = 遠程數據庫的SERVICE_NAME)
)
)
在本地數據庫運行
tnsping DB
如果成功
sqlplus username/password@DB
成功進入代表配置成功
create database link mylink connect to 用戶名 identified by 密碼 using
運行如下
select * from user_db_links
CREATE OR REPLACE PROCEDURE remoteAccess AS
TYPE t_ReadUser IS REF CURSOR;
v_CursorVar
DECOUNT NUMBER(
Begin
SELECT * FROM 表明@mylink;
其他操作
dbms_output
EXCEPTION
WHEN OTHERS THEN
dbms_output
ROLLBACK;
END;
/
SHOW ERRORS;
From:http://tw.wingwit.com/Article/program/Oracle/201311/17828.html