프로그램/DataBase2013. 7. 17. 11:37

MSSQL 서버에서 ORACLE 서버로 Linked Server 하는 방법이다.



1. 오라클 클라이언트 설치


오라클 홈페이지에서 클라이언트 프로그램을 다운로드 받아서 MSSQL 서버에 설치한다.

단순한 작업이라면 경량화된 'Instant Client' 버전을 사용한다.


다운로드 경로

http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html



2. TNS 설정 


Instant Client 압축 파일을 적당한 경로에 풀고, ORACLE 접속을 위해 'tnsnames.ora' 파일을 생성한다.


# TNS 설정 방법

TestDB = 

(DESCRIPTION =

     (ADDRESS_LIST =

          (ADDRESS = 

               (PROTOCOL = TCP)

                    (HOST = 127.0.0.1)

                    (PORT = 1521)

                )

          )

     (CONNECT_DATA =

          (SERVICE_NAME = TestDB)

     )

)



3. 오라클 환경 변수 설정


내컴퓨터 > 오른쪽 마우스 > 속성 > 고급 > 환경 변수 > 시스템 변수


PATH=C:\Oracle\instantclient_11_2 (기존 변수에 추가) 

ORACLE_HOME=C:\Oracle\instantclient_11_2

TNS_ADMIN=C:\Oracle\instantclient_11_2

NLS_LANG=KOREAN_KOREA.KO16MSWIN949


환경 변수 설정 후, 오라클 클라이언트 활성화를 위해 서버 재부팅을 해줘야 한다.



4. MSSQL 연결된 서버 설정


'sp_addlinkedserver' 또는 Management Studio의 '새 연결된 서버' 메뉴를 이용해서 등록한다.   



5. 연결 확인 및 오픈 쿼리 사용


예제

Select * From OPENQUERY([TestDB], 'Select * From Test.T_Table')


오픈 쿼리 참고

http://technet.microsoft.com/ko-kr/library/ms188427(SQL.90).aspx

 

 

6. 기타

 

연결된 서버 설정 시, MSDAORA 공급자 관련 개체 오류가 자주 발생한다.

이 때, Inprocess 허용 체크를 풀었다가 다시 주면 해결되기도 한다.

더 자세한 사항은 MS에서 확인해 보면 된다.

 

참고로 MSDAORA는 MS에서 오라클에 접속이 가능하도록 제공해 주는 공급자이다.

경로 - http://support.microsoft.com/kb/280106/ko

Posted by 셰프