저장 프로 시저를 사용하여 다른 DB에 연결하는 방법은 무엇입니까?


11

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

추신.

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

답변:


10

데이터베이스 링크 (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 링크를 쿼리하도록 지시합니다.


1
PSOUG 링크에 DRIVING_SITE 힌트에 대한 참조가 포함되어 있습니다. DBLINK의 쿼리 성능은 크게 다를 수 있습니다. 대부분의 데이터 처리가 수행되는 위치를 알고 있다면 DRIVING_SITE를 데이터가있는 데이터베이스로 설정하십시오. 처리가 가장 효율적입니다.
ScottCher


0

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.