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')


 ※ 유사한 방법으로 '연결된 서버'를 사용하는 방법이 있다.

Posted by kuaaan
,


사랑합니다. 편안히 잠드소서