저장 프로 시저를 사용하여 다른 DB에 연결하는 방법은 무엇입니까? 외부 DB에 연결할 수 있습니까? 고마워 추신. Oracle을

외부 DB에서 일부 데이터를 가져 와서 다른 DB에서 계산해야하는데 저장 프로 시저에서 외부 DB에 연결할 수 있습니까? 고마워

추신.

Oracle을 사용하고 있으며 두 데이터베이스가 모두 동일한 서버에 있습니다.



답변

데이터베이스 링크 (DBLink)를 사용하려고합니다.

http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/statements_5005.htm

http://psoug.org/reference/db_link.html

-- create tnsnames entry for conn_link
conn_link =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = perrito2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orabase)
    )
  )


CREATE DATABASE LINK conn_user
USING 'conn_link';

SELECT table_name, tablespace_name FROM user_tables@conn_user; 

프로 시저 또는 테이블 이름 끝에 @conn_user는 pl / sql 엔진에 해당 정보에 지정된 db 링크를 쿼리하도록 지시합니다.


답변

예, dg4odbc를 사용하여 모든 데이터베이스에 대한 데이터를 읽을 수 있습니다. 모든 odbc 호환 데이터베이스를 연결할 수 있으며 Oracle 데이터베이스를 사용하면 플랫폼 외부에서 작동하는 odbc 드라이버를 찾을 수 있습니다. .odbc.ini 및 $ ORACLE_HOME / hs / admin이 구성 위치입니다.