본문 바로가기

wow db Log/ms-sql

유용한 DB-LINK 설정

-------------------------------
--MS-SQL과 EXCEL 연결하기
-------------------------------
ex1)
EXEC sp_addlinkedserver
        @server='myms', --alias 명
        @srvproduct = '',                    
        @provider = 'Microsoft.Jet.OLEDB.4.0',
        @datasrc = '엑셀파일경로',     --ex) 'D:\20061227.xls'
        @provstr='excel 5.0',               
        @catalog=''                             

EXEC sp_addlinkedsrvlogin
        'myms',  -- @server 기술한 명칭
        'false',
        NULL,null ,null  

ex2)
SELECT *
FROM OpenRowSet('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;DataBase=파일경로/파일명.xls',Sheet1$)

-------------------------------
--MS-SQL과 MS-SQL 연결하기
-------------------------------
Exec Sp_AddLinkedServer
      @Server='alias 명',
      @SrvProduct='',
      @Provider='SQLOLEDB',
      @DataSrc='원격지 IP주소',
      @Catalog='DB명'

Exec Sp_AddLinkedSrvLogin 'alias 서버명', 'False', null, '원격지서버 아이디', '원격지서버 비밀번호'

-------------------------------
-- MS-SQL과 Oracle 연결하기
-------------------------------
EXEC sp_addlinkedserver
   'myora', -- 링크서버 alias
   'Oracle', -- 고정
   'MSDAORA', -- 고정
   'ora92' -- SID명

--링크드서버 로그인
EXEC sp_addlinkedsrvlogin 'myora', 'false', 'sa', '오라클사용자아이디', '오라클사용자비밀번호'

참고)
--openquery 방식의 쿼리 권장
--링크서버의 자원을 사용 최적화된 데이터만을 가져온다.
SELECT * FROM OPENQUERY(링크서버 alias, 'SELECT * FROM scott.dept WHERE ROWNUM = 1')

--링크드서버 쿼리(MSSQL 설정에 따른 쿼리)
--for-part name 방식의 쿼리
--클라이언트의 자원을 이용해 데이터를 가져온다.
select TOP 1 * from myora..scott.dept
**유의점 : 스키마와 Table name은 대소문자를 구분하는 것임