Technical posts/MS-SQL

SQL Server_ linked server 이용 오라클과 연결하기

ODB 2014. 9. 22. 17:28

SQL Server_ linked server 이용 오라클과 연결하기


linked server를 이용하여 Oracle과 연결을 해보겠습니다


먼저 오라클 클라이언트 설치가 필요하다


클라이언트 와 SQL 서버 둘다 설치가 되어있다면  진행하도록 하자



tnsnames.ora를 열어서 접속 대상에 대해 써넣는다

opendb =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ip-address)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = SID_name)
    )
  )

요 opendb를 연결된서버 구축시 사용하도록 한다


linked server를 이용하여 오라클에 연결하기 위해서

공급자에서 OraOLEDB.Oracle 우클릭을 하고 설정을 바꿔주도록 합니다


속성(R)


inprocess 허용을 체크한다

확인을 누른다


연결된 서버 우클릭 > 새 연결된 서버(N)...


연결된 서버(N)는 사용할 이름이니 생각해서 결정하고

공급자를 설치한 'Oracle Provider for OLE DB'로 선택하고


제품이름은 아무거나

데이터 원본(D)는 tnsnames.ora에 등록한 opendb를 입력한다


왼쪽의 '보안' 항목을  선택하고

다음 보안 컨텍스트를 사용하여 연결(M) 체크

오라클 계정 정보를 넣고

확인


LINKED_NAME이 생성되었다


OpenQuery를 이용해서 처리를 한다


## Select
SELECT * FROM OPENQUERY(LINKED_NAME, 'SELECT * FROM test_tbl');

## Insert
INSERT OPENQUERY(LINKED_NAME, 'SELECT ID, NAME FROM test_tbl ') VALUES (1, 'name');

## Update
UPDATE OPENQUERY(LINKED_NAME, 'SELECT NAME FROM test_tbl WHERE ID = 1') SET NAME = 'value';

## Delete
DELETE FROM OPENQUERY(LINKED_NAME, 'SELECT ID FROM test_tbl WHERE ID = 1');