반응형
openrowset함수로 감싸 있는 블록을 하나의 테이블처럼 똑같이 사용가능한 방법입니다.
이 이야기는 단순 질의 뿐만 아니라, join도 가능하고 심지어 insert, delete, update도 가능하다는 이야기입니다.
만약 oracle 데이터를 가져와서 ms sql의 테이블로 insert하려면 다음 예제 앞에
insert into.....를 추가해서 사용하면 되겠죠..
insert into.... select a.*........ 이렇게..
※ 당연히 Oracle Client는 설치되어 있어야 함.
이제 DTS로 힘들게 뺑이칠 필요 없겠넹. ㅎㅎ
예제)
select a.*from openrowset( 'MSDAORA','tns_ora816';'ora_userid';'password',
'select * from tab' ) a ;
/*
select a.*
from openrowset( '상수','TNS명';'오라클 유저';'오라클 패스워드',
'
select * from tab --ORACLE 실행 SQL , 반드시 '로 감싸야 함
' ) a ; -- 반드시 ALIAS 명시
*/
※ 리모트 서버가 SQL Server일때는 이렇게 한다.
SELECT *
FROM OPENROWSET ('SQLOLEDB',
'[REMOTESVR\INSTANCENAME]',
'SA', 'PASSWD',
'SELECT * FROM TABNAME')
※ 유사한 방법으로 '연결된 서버'를 사용하는 방법이 있다.
반응형
'연구개발 > SQL2005' 카테고리의 다른 글
INSTEAD OF 트리거 (0) | 2009.06.27 |
---|---|
SELECT에 LOCK을 거는 방법 (0) | 2009.06.27 |
SET XACT_ABORT(Transact-SQL) (0) | 2009.06.27 |
데이터를 SQL Server로 가져오기 위한 여러 방법들 (0) | 2009.06.24 |
특정 사용자에게 Agent 작업 권한 부여하기 (0) | 2009.06.20 |