mssql linked server insert 질문이요 (mssql -> mysql) 0 3 119

by 토마톰 [SQLServer] [2021.01.11 19:19:47]


제목과같이 mssql에서 mysql 서버를 linkedserver로 등록해놓고 특정 테이블에 데이터를 입력도중 질문이 있어 글을 남깁니다.
아래 쿼리와같이 mysql에 존재하는 alimtalk 라는 테이블에 데이터를 입력하려고 합니다.

근데 문제가 다른값들은 정상적으로 들어가는데 자꾸 앞에 두컬럼인 type과 typeSeq 값이 null로 들어갑니다.
관련해서 자료를 찾을수가없어 이렇게 질문드려요

INSERT INTO OPENQUERY (INTRANET_MYSQL, 'SELECT type, typeSeq, fromMicode, toMicode, alarmDate, templateCode, content, buttons FROM alimtalk')
VALUES( 'edocu', '12345', '200000-007', '200000-007', '2021-01-13 14:00', 'type', 'aaaaa', 'abc');

 

 

감사합니다

by pajama [2021.01.11 22:53:14]

같은 경우인지는 모르겠지만.. mysql 테이블에 text 컬럼이 있는 경우 이런 경우가 있다고하네요.

그런데 아래의 경우는 컬럼 순서가 밀리는 것 같은데..말씀하신 현상과 동일한지는 모르겠습니다.

https://stackoverflow.com/questions/4381625/first-column-of-insert-into-over-linked-server-ms-sql-mysql-always-empty-stri

https://www.sqlservercentral.com/forums/topic/linked-server-issue-query-is-inserting-nulls-but-inserts-text-values


by 토마톰 [2021.01.11 23:44:05]

일단 답변주셔서 감사합니다.
mysql 테이블 모두 varchar타입이며 컬럼의 순서가 밀리는 이슈도 아닌것같습니다 ㅠ

공유주신 두 페이지 검색 키워드 참조하여 좀더 서칭해보도록 하겠습니다

아 스택오버플로 2번째 답글에서 답을 찾았습니다!
왜그런지는 모르겠으나 int타입의 컬럼을 맨뒤로 위치하는등 컬럼순서를 바꾸니 잘 입력이 됩니다..


by pajama [2021.01.12 00:04:01]

mysql odbc의 버그인지..테이블을 변경해야하는 문제가 있지만.. 나름 workaround가 되겠군요..

해결되셔서 다행입니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입