2022년 1월 24일 월요일

HSODBC를 이용하여 ORACLE에서 MSSQL로 DB LINK 하기

 [ 출처 : https://oracle.tistory.com/189 ]

Oracle DB가 Windows에 설치 되어 있어야 가능합니다.

제어판상의 ODBC 데이터 원본 관리자 -> 시스템 DSN에 추가(시스템 환경 32/64에 맞추어 설정 되어야 함)

Listener에 추가(10g일 경우 hsodbc, 11g일 경우 dg4odbc로 등록함)

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
    (SID_DESC =
      (SID_NAME = MSSQL )
      (ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1)
      (PROGRAM = dg4odbc)
    )

  )


Tnsname.ora에추가

MSSQL =
 (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IP )(PORT = 1521))
    (CONNECT_DATA = (SID = MSSQL ))
    (HS=OK)
  ) 


환경 설정 파일 새로 생성

E:\app\Administrator\product\11.2.0\dbhome_1\hs\admin\initMSSQL.ora

# This is a sample agent init file that contains the HS parameters that are
# needed for the Database Gateway for ODBC
#
# HS init parameters
#

HS_FDS_CONNECT_INFO = MSSQL
HS_FDS_TRACE_LEVEL = 1
HS_DB_DOMAIN = MSSQL
HS_DB_NAME = MSSQL

#
# Environment variables required for the non-Oracle system
#
#set <envvar>=<value>

설정이 완료되었으면 리스트 재 시작함.

lsnrctl stop / start

 

db link 생성

CREATE DATABASE LINK HSODBC
CONNECT TO user IDENTIFIED BY password USING tnsname


테이블 조회

SELECT * FROM table@hsodbc;

 




댓글 없음:

댓글 쓰기