在存儲過程中連接遠程Oracle數(shù)據(jù)庫并進行操作
遠程連接Oracle數(shù)據(jù)庫的方法很多,但是如果在本地數(shù)據(jù)庫的存儲過程中,要訪問一個遠程數(shù)據(jù)庫,我們該怎么去做呢?其實只需要做如下配置即可連接成功。以下是在存儲過程中連接遠程數(shù)據(jù)庫并進行操作的過程:
1.查看遠程數(shù)據(jù)庫的相關(guān)數(shù)據(jù)
SERVICE_NAME
兩種方式:
***種more$ORACLE_HOME/network/admin/tnsname.ora
一般是數(shù)據(jù)庫的SID
第二種echo$ORACLE_SID
2.修改本地數(shù)據(jù)庫
修改本地數(shù)據(jù)庫的vi$ORACLE_HOME/network/admin/tnsname.ora
添加如下:
- (DESCRIPTION=
- (ADDRESS_LIST=
- (ADDRESS=(PROTOCOL=TCP)(HOST=遠程數(shù)據(jù)庫地址hotname)(PORT=1521))
- )
- (CONNECT_DATA=
- (SERVICE_NAME=遠程數(shù)據(jù)庫的SERVICE_NAME)
- )
- )
3.測試連接是否成功
在本地數(shù)據(jù)庫運行 tnspingDB.69LINK ,如果成功,可以再使用:sqlplus username/password@DB.69LINK ,成功進入代表配置成功。
4.在本地數(shù)據(jù)庫中創(chuàng)建遠程連接
createdatabaselinkmylinkconnectto用戶名identifiedby密碼using'DB.69LINK';
運行如下,檢查連接是否已經(jīng)創(chuàng)建:
select*fromuser_db_links。
5.在存儲過程中應用:
- CREATEORREPLACEPROCEDUREremoteAccessAS
- TYPEt_ReadUserISREFCURSOR;
- v_CursorVar1t_ReadUser;
- DECOUNTNUMBER(18);
- Begin
- SELECT*FROM表明@mylink;
以上就是使用存儲過程連接遠程數(shù)據(jù)庫的全部,更多遠程數(shù)據(jù)庫的連接問題在這里:http://database.51cto.com/art/201010/231338.htm。
【編輯推薦】