mysql 에서 mssql 로 전환하려고 그러는데,
좀 ms적인 질문이라 그렇긴한데...
mysql 에서 mssql 로 전환하려고 그러는데,
테이블이 약간 변합니다.
그래서 그에 맞게 sql 문을 생성하도록
vc++ 6.0 + mysql api 로 만들었는데요.
text 타입에 3만바이트쯤 넣었나?
그렇게되는 라인에서 db연결이 끊기는것 같습니다.
SQL Server 내부 오류입니다. 텍스트 관리자는 현재 문을 계속 실행할 수 없습니다.
라고 나옵니다.
쿼리문을 아무리 살펴봐도 별 문제가 없고요,
쿼리 아날라이저로해도 그렇고,
vc에서 직접 db연결해서 execute해도 마찬가지네요.
쿼리아날라이저에서도 64KB 넘는 것은 실행이 안되긴 하지만,
그런 현상하고는 다른 것 같고요..
일단 해본 봐로는 크 text 필드를 빼버리고 insert 한 다음에 update 를 하면 또 잘 되는 것 같은데, 그 필드에 다른값을 넣었다가 update 하려고 했을땐가? 그럴때는 또 안되는 것 같고...
원인이 뭔가해서 찾아봐도 모르겠네요,,
일단 뭐 제가 생각하기엔 글자 제한이라던가,, text 에 들어가는 값에 cr+lf가 너무 많아서 sql문 자체가 행수가 길어져서 그런건지..(지금보니깐 그런것도 같기도한데.. 혹시 이러면 어떻게 행분리를 할 수 있을까요? mysql에서는 \r\n 으로 넣으면 된다지만..)
아무튼 뭔가 상당히 얄딱꾸리(?) 하네요...
아니면 혹시 변환을 쉽게해주는 다른 유틸이라도 있을까요?
변환하는 경우가 자주 있을 것 같은데..
------
지금 다시 확인해보니깐 그게 맞는 것 같은데요,
table (abc text) 가 있으면,
insert into table values ('가나다라
1
2
3
4
5
');
저런식으로(저건 몇줄안되지만) 행이 아주 길어지면서 나는 에러 같은데요,
mssql에서 어떻게 mysql처럼 \r\n 처리를 하게 할 수 없을까요?
myODBC 설치하시고
mssql 에 들어 가시면, 외부 DB에서 DB를 옮겨올수 있습니다.(ODBC 이용)
이렇게 함 해보시지요. 먼저 다 옮겨놓고 DB 변경작업을 하시는 것이 좋을듯 싶습니다.
댓글 달기