MSSQL - 연결된 서버로 MySQL 연결하기 (Linked Server, Openquery)

반응형

연결된 서버(Linked Server) 관련 글 보기

[ 연결된 서버 사용 방법] 

 

[ 연결된 서버에서 오픈 쿼리 사용 방법 ]

 

[ 다른 RDBMS를 연결된 서버로 연결하기 ]

 

[ 연결된 서버로 프로시저 실행하기 ]


MySQL 설정

서버 연결을 위한 Connector/ODBC 다운로드

https://dev.mysql.com/downloads/connector/odbc/

 

MySQL :: Download Connector/ODBC

Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debian Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Fedora Linux - Generic Oracle Solaris macOS Source Code Select OS Version: All Windows (x86

dev.mysql.com

 

간단히 알고가는 개념

ODBC란? (Open DataBase Connectivity)

  • 마이크로소프트가 만든 데이터베이스에 접근하기 위한 소프트웨어 표준 규격
  • ODBC를 사용하면 다른 데이터베이스 시스템에 접근 할 수 있음

ConnecTor/ODBC 설치

  • Next

 

  • Next

 

  • Next
  • 필요하다면 Custom을 선택하여 원하는 환경 설정

 

  • Install

 

  • Finish


Connect/ODBC 설정

  • 설치 완료가 되면 윈도우 키를 눌러 ODBC를 검색 - 'ODBC 데이터 원본' 실행

 

  • 시스템 DSN - 추가

 

  • MySQL ODBC x.x Unicode Driver 선택 - 마침

 

  • Data Source Name
    • 데이터베이스의 이름 (MySQL의 DB가 아니라 MSSQL에서 사용 할)
  • Description
    • 해당 데이터베이스에 대한 설명
  • TCP/IP Server
    • 아이피 주소나 로컬 주소 혹은 URL 입력
    • 포트는 특수한 경우를 제외하고서는 3306
  • 아이디와 비밀번호를 입력하면 해당 데이터베이스의 테이블 목록들을 확인 할 수 있음
  • 사용 할 데이터베이스 선택

 

  • Test (접속 테스트)
    • 접속되면 OK로 설정 완료

 

  • 정상적으로 추가된 모습


MSSQL에서 연결된 서버로 MySQl 연결

  • (개체 탐색기에서) 서버 개체 - 연결된 서버 - 새 연결된 서버

 

  • 일반 설정
    • 연결된 서버 : 정의 할 서버 이름
    • 기타 데이터 원본
    • 공급자 : Microsoft OLE DB Provider for ODBC Drivers 
      • 제품 이름 : 어떤 제품인지 기재
      • 데이터 원본 : Connector/ODBC에서 설정한 Data Source Name 입력
      • 공급자 문자열 : 데이터 원본과 동일하게 입력

 

  • 보안 설정
    • 다음 보안 컨텍스트를 사용하여 연결
    • 원격 로그인 : 데이터베이스 사용자 이름
    • 암호 : 데이터베이스 사용자 비밀번호

 

  • '연결된 서버'에서 정의한 이름으로 연결된 서버 생성 


MSSQL에서 MySQL 데이터 접근

링크드 서버로 SQL 쿼리 사용

/*
select * from [LinkedServerName].[Databasename].[schemaname].[tablename]
 = select * from [IP Address].[DATABASE].[dbo].[Table]
 */

--select * from [IP주소].데이터베이스명.소유자.테이블명
select * from [192.168.0.77].testDB.dbo.testTable

오픈 쿼리 (openquery) 사용

  • 연결된 서버로 MySQL 'testdb'라는 테이블의 정보 확인해보기
-- openquery 사용법
-- select * from openquery( [연결된서버명], 'SQL문' )
select * from openquery(
	[EUNBYEOL_AWS_MYSQL],
    'select * from testTable' )


참고

  • 연결된 서버에 대한 자세한 설명

https://luvris2.tistory.com/354

 

MSSQL - 연결된 서버(Linked Server) 생성과 사용 방법

연결된 서버(Linked Server)란? SQL Server 데이터베이스 엔진 및 Azure SQL Managed Instance에서 사용 다른 SQL Server 인스턴스 또는 Oracle과 같은 다른 데이터베이스 제품의 테이블을 포함하는 Transact-SQL 문을

luvris2.tistory.com

 

  • 오픈쿼리에 대한 자세한 설명

https://luvris2.tistory.com/356

 

MSSQL - Openquery 사용 방법 / Linked Server의 쿼리 실행 속도 상승시키기

연결된 서버(Linked Server)에 대한 설명은 아래의 포스팅을 참고해주시길 바랍니다. https://luvris2.tistory.com/354 MSSQL - 연결된 서버(Linked Server) 생성과 사용 방법 연결된 서버(Linked Server)란? SQL Server 데

luvris2.tistory.com

 

반응형