-- MSSQL

"예상 데이터 길이와 일치하지 않는 데이터를 반환했습니다" 오류

어린왕자악꿍 2012. 3. 28. 13:22
Oracle의 데이터를 링크드서버로 연결하고,  MSSQL로 마이그레이션해야 할 일이 있어서 쿼리를 작성하였다.
그런데, 실행해보니 특정 row에서 아래와 같은 에러가 발생했다.

"예상 데이터 길이와 일치하지 않는 데이터를 반환했습니다"

원인은 한자나 특수문자와 같은 것이 있는 필드가 있으면 저 에러를 발생하며, 아래와 같이 작성하면 해결된다.
예제에서는 Name필드에서 문제가 발생한다고 가정하자.


[Error Query]
SELECT ID, Name
FROM    LNK001..USER01.MEMBER

[Resolved Query]
SELECT ID, Name
FROM    OpenQuery(LNK001, 'SELECT ID, TO_NCHAR(Name) AS Name FROM MEMBER')