--■■ MYSQL 쪽 테스트용 데이터 생성
CREATE TABLE test_conn(id INT);
INSERT INTO test_conn VALUES(1);
--■■ MSSQL 쪽 연결된 서버 생성
USE [master]
GO
EXEC master.dbo.sp_addlinkedserver
@server = N'TEST_CONN'
,@srvproduct=N'MySQL'
,@provider=N'MSDASQL'
,@provstr=N'Driver={MySQL ODBC 8.0 Unicode Driver};DATABASE=[MYSQL_DB_INSTANCE];OPTION=134217728;PWD=[PASSWORD];UID=[ID];SERVER=[IP ADRRESS]'
--,@provstr=N'Driver={MySQL ODBC 8.0 ANSI Driver};DATABASE=[MYSQL_DB_INSTANCE];OPTION=134217728;PWD=[PASSWORD];UID=[ID];SERVER=[IP ADRRESS]'
GO
EXEC master.dbo.sp_serveroption @server=N'TEST_CONN', @optname=N'rpc', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'TEST_CONN ', @optname=N'rpc out', @optvalue=N'true'
GO
--■■ MSSQL 쪽 연결된 서버 테스트
SELECT *
FROM OPENQUERY([TEST_CONN],'SELECT * FROM MYSQL_DB_INSTANCE.test_conn;')
--■■ 오류 상황
윈도우 인증으로 로그인 했을 때는 정상으로 호출됨
SQL Server 인증으로 로그인 했을 때는 오류 메시지 발생
--■■ 해결
Mysql 과 mssql 에 동일한 계정정보가 있어야 문제없이 동작함
--■■ 오류메시지
연결된 서버 "TEST_CONN"의 OLE DB 공급자 "MSDASQL"이(가) 메시지 "[MySQL][ODBC 8.0(w) Driver]Access denied for user '[LOCAL_ACCOUNT]'@'[SERVERIP]' (using password: NO)"을(를) 반환했습니다.
메시지 7303, 수준 16, 상태 1, 줄 1
연결된 서버 "TEST_CONN"에 대한 OLE DB 공급자 "MSDASQL"의 데이터 원본 개체를 초기화할 수 없습니다.
[using password: NO)"을(를) 반환했습니다.]
Access MySQL data from SQL Server via a Linked Server
ref.https://www.mssqltips.com/sqlservertip/4570/access-mysql-data-from-sql-server-via-a-linked-server/
'프로그래밍 > TSQL' 카테고리의 다른 글
BCP 호스트 데이터 파일을 열 수 없습니다.(“Unable to Open BCP host data-file”) - 해결(solved) (0) | 2021.06.09 |
---|---|
[MSSQL]XP_CMDSHELL 'BCP'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. (1) | 2021.06.07 |
[MSSQL]FULL TEXT INDEX 생성 방법 LIKE 조건 성능 튜닝 방법 (0) | 2021.03.26 |
[MSSQL] MSSQL 버전 확인 방법 (0) | 2021.03.22 |
[SQL]테이블 변경(생성, 수정,삭제) 이력 조회 방법 (Who Created a table?) (0) | 2021.03.22 |
댓글