[MSSQL] ODAC를 통한 Oracle Linked Server 설정 방법

2020. 6. 25. 10:36

 

MSSQL에서 Oracle로 Linked Server 연결하기 위한 단계별 작업을 정리해봅니다.

 

 

 

1. ODAC 다운로드

- 링크 : https://www.oracle.com/database/technologies/odac-downloads.html

- ODAC122010Xcopy_x64.zip 파일 다운로드

 

 

2. ODAC 설치

- 다운로드 받은 파일을 임의의 폴더로 압축해제

- cmd에서 원하는 경로로 ODAC 설치 (Oracle InstantClient도 포함되어 있다고 함)

install.bat all c:\oracle\instantclient_12_2 odac

 

 

3. ODAC 설정

- 설치 경로로 이동후 커맨드 실행

cd c:\oracle\instantclient_12_2\odp.net\bin\4
OraProvCfg.exe /action:gac /providerpath:c:\oracle\instantclient_12_2\odp.net\bin\4\Oracle.DataAccess.dll
OraProvCfg.exe /action:gac /providerpath:c:\oracle\instantclient_12_2\odp.net\bin\4\Oracle.Web.dll

 

- 시스템 환경변수 등록 (시스템 - 고급 시스템 설정 - 환경 변수 - 시스템 변수 - 새로 만들기)

  . 변수명 : ORACLE_HOME

  . 값 : c:\oracle\instantclient_12_2

 

- 시스템 환경변수 수정
  . Path 추가 : (기존경로);%ORACLE_HOME%;%ORACLE_HOME%\bin

 

- 시스템 재시작

 

 

4. tnsnames.ora 파일 생성

- 해당 경로에서 tnsnames.ora 파일 생성

c:\oracle\instantclient_12_2\network\admin

- tnsnames.ora 파일 구성 (접속대상 Oracle의 tnsnames.ora 참고)

TEST = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 100.100.100.123)(PORT = 1521))
    (CONNECT_DATA = 
      (SERVER = DEDICATED)
      (SID = TEST)
    )
  )

 

 

5. SSMS Linked Server 설정

- 공급자 옵션 변경

  . 서버개체 - 연결된 서버 - 공급자 - OraOLEDB Oracle 속성 - Inprocess 허용 체크 - 확인

 

- Linked Server 생성

  . 서버개체 - 연결된 서버 - 우클릭 - 새 연결된 서버

  . 연결된 서버 : 임의 입력

  . 공급자 : Oracle Provider for OLE DB 선택

  . 제품이름 : 임의 입력

  . 데이터 원본 : SID 입력

  . 보안 - 다음 보안 컨텍스트를 사용하여 연결 (ID/패스워드 입력)

  . 서버 옵션 - RPC/RPC 내보내기 - True로 변경

 

- 설정 완료후 연결 테스트

 

 

6. 조회 테스트

- 형식 : select * from openquery(SID, '수행할 쿼리');

select * from openquery(TEST, 'select * from testtable');

 

밥짓는아이 테크노트/DBMS