MSSQL ORACLE 연결하기 설정

MSSQL 서버와 ORACLE을 연결하는 방법은 ODBC를 설정하고, SQL SERVER의 ‘연결된 서버(linked server)’ 를 사용하는 방법입니다.

MSSQL ORACLE 연결하기

  1. ODAC 설치
  2. tnsnames.ora파일 복사
  3. ODBC 설정
  4. MS SQL SERVER에서 ‘연결된 서버’ 설정
  5. OPENQUERY 사용


ODAC 설치 방법

MS SQL과 ORACLE을 연결하기 위해서는 ODBC 연결을 위해 ODAC를 설치합니다. 윈도우64비트용 ODAC를 다운받아 압축을 푼다음 별 옵션없이(다음>다음.. 실행) 설치하면 됩니다. 설치중 설치폴더를 “C:\”드라이브로 변경도 할수 있고, 설치가 완료되면 tnsnames.ora를 network/admin 폴더에 붙혀넣어 줍니다.

MSSQL ORACLE 연결 ODAC 설치


ODBC설정방법

ODBC를 설정하기위해서는 반드시 64비트용을 실행해야합니다. 파일이름이 32비트와 64비트 이름이 같기때문에 헷갈리지 않도록 주의합니다. ODBC6 64bit용을 실행한 다음 시스템DNS에서 ORACLE환경을 설정해줍니다. 설정을 마치고보면 64BIT ODBC 설정내용이 32BIT에서도 보입니다.

ODBC 종류


MSSQL ORACLE 연결된 서버 연결시 주의사항

ODAC를 설치하고나면 MSSQL에서 ODBC설정없이 ‘ORACLE provider for OLE DB’로 ORACLE에 연결된 서버로 연결이 가능하다. 하지만 text칼럼 import시 잘리는 현상이 발생한다.
앞에서 MSSQL과 오라클 사이 연결은 ODBC를 통해 연결하면 데이터가 잘리는 현상이 발생하지 않기때문에 MSSQL LINKED SERVER에서도 ODBC 연결을 위해 Microsoft OLE DB provider for ODBC driver를 선택한다.

Microsoft OLE DB provider for ODBC driver


MS SQL SERVER에서 ‘연결된 서버’ 설정

MS SQL SERVER 서버개체 > 연결된 서버에서 새연결을 시작합니다. 서버 유형과 서버이름을 입력하고, 데이터 원본은 ODBC 설정이름을 넣습니다. 그다음 아래 그림과같이 보안 탭에서 ID/PASSWD를 확인합니다.

연결된서버


연결된 서버 OLE DB 공급자 “OraOLEDB.Oracle”의 인스턴스를 만들수 없습니다. 오류: 7302 조치방법

아래 그림과같이 오류가 발생할 시 공급자에서 Inprocess 허용한다음 서버를 재부팅하고 다시 실행하면 정상적으로 연결이 됩니다.

연결된서버 설정에러
MSSQL ORACLE 연결

MSSQL과 ORACLE을 연결하기 위해서는 ODAC 설치, ODBC설치/설정, 연결된 서버 설정후 오픈쿼리를 사용하면 됩니다.