熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

在存儲過程中連接遠程數據庫並進行操作

2013-11-13 16:06:57  來源: Oracle 

  我們有時候需要在本地數據庫的存儲過程中或者在其他SQL語句中要訪問一個遠程數據庫我們可以這樣做

  在存儲過程中連接遠程數據庫並進行操作

   查看遠程數據庫的相關數據

  SERVICE_NAME

  兩種方式:

  第一種 more $ORACLE_HOME/network/admin/tnsnameora

  一般是數據庫的SID

  第二種 echo $ORACLE_SID

  修改本地數據庫的

  vi $ORACLE_HOME/network/admin/tnsnameora

  添加如下

  DBLINK =

  (DESCRIPTION =

  (ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = TCP)(HOST = 遠程數據庫地址hotname)(PORT = ))

  )

  (CONNECT_DATA =

  (SERVICE_NAME = 遠程數據庫的SERVICE_NAME)

  )

  )

  測試連接是否成功

  在本地數據庫運行

  tnsping DBLINK

  如果成功可以再使用:

  sqlplus username/password@DBLINK

  成功進入代表配置成功

  在本地數據庫中創建遠程連接

  create database link mylink connect to 用戶名 identified by 密碼 using DBLINK;

  運行如下檢查連接是否已經創建

  select * from user_db_links

  在存儲過程中應用

  CREATE OR REPLACE PROCEDURE remoteAccess AS

  TYPE t_ReadUser IS REF CURSOR;

  v_CursorVar t_ReadUser;

  DECOUNT NUMBER();

  Begin

  SELECT * FROM 表明@mylink;

  其他操作

  dbms_outputput_line(END);

  EXCEPTION

  WHEN OTHERS THEN

  dbms_outputput_line(SQLERRM);

  ROLLBACK;

  END;

  /

  SHOW ERRORS;


From:http://tw.wingwit.com/Article/program/Oracle/201311/17828.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.