1. MySQL 용 ODBC 다운로드
https://dev.mysql.com/downloads/connector/odbc/
2. ODBC Data Source Administrator (64-bit) 실행 ▶ [User DSN/System DSN] 선택 ▶ [Add] 선택
( ODBC 데이터 원본 관리자 (64-bit) 실행 ▶ [사용자 DSN/시스템 DSN] 선택 ▶[추가] 선택 )
* User DSN: 특정 사용자에 대한 DSN, System DSN: 시스템 전체에서 사용되는 DSN
3. MySQL ODBC ANSI Driver 혹은 MySQL ODBC Unicode Driver 선택
( 저는 MySQL ODBC 8.0 Unicode Driver 를 선택 )
4. 구성 정보 입력
- Data Source Name: 데이터 소스 이름
- TCP/IP Server: 연결하려는 MySQL 서버 IP 및 Port
- User/Password: MySQL DB 접속 계정 및 암호
5. 등록된 정보 확인
이렇게 ODBC 데이터 소스 등록 작업이 끝났습니다.
이제 MS-SQL 에서 Linked Server 등록을 해줍니다.
1. Linked Server 등록
EXEC master.dbo.sp_addlinkedserver
@server ='linkedserver_test', -- linked server 명
@srvproduct='MySQL', -- 데이터 원본 소스명
@provider='MSDASQL', -- 공급자 고유 식별자
@datasrc='test_linked' -- ODBC에 등록한 사용자/시스템 DSN 명
2. Linked Server 연결 계정 등록
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname='linkedserver_test', -- linked server 명
@useself='false', -- 로그인 이름 사용 유무
@locallogin=NULL, -- 로컬 서버 로그인 여부
@rmtuser='login', -- MySQL 접속 DB 계정명
@rmtpassword='Password12#$' -- MySQL 접속 DB 계정 암호
3. RPC/RPC Out 옵션 활성화 (프로시저 호출하려면 필요)
EXEC master.dbo.sp_serveroption
@server='linkedserver_test', -- linked server 명
@optname='rpc',
@optvalue='true'
EXEC master.dbo.sp_serveroption
@server='linkedserver_test', -- linked server 명
@optname='rpc out',
@optvalue='true'
Linked Server 연결 완료!
이제 쿼리를 통해 서버 등록 정보와 MySQL 에 쿼리를 날려보자.
1. Linked Server 정보 확인
SELECT * FROM master.dbo.sysservers
2. MySQL 서버에 쿼리 조회
-- SELECT * FROM OPENQUERY (Linked Server Name,'Query')
SELECT * FROM OPENQUERY (linkedserver_test,'select * from test limit 100')