반응형
-- Check the result mapping for the 'textData' property.
--- Cause: java.sql.SQLException: [FMWGEN][DB2 JDBC Driver]Transliteration failed, reason: invalid UTF8 data
에러 내용은 간단하다.
'textData' 매핑을 확인해라.
문자변경에 실패하였다. 이유는 인식이 불가능한 UTF-8 데이터다.
나같은 경우는 substr(textData, 1, 20) 때문이였다.
textData 컬럼의 값이 한글일때, substr은 바이트기준으로 length를 자르기 때문에
'가나다라마가나다라마' 값이면 1 ~ 20은
한글은 3바이트'가나다라마바'로 6자리 하고
2바이트값 ''(알 수 없는 이상한 값)이 나온다.
이 때, 남는 2바이트 때문에 'Transliteration failed, reason: invalid UTF8 data' 에러가 생긴거다.
substr(textData, 1, 20)가 아닌 substr(textData, 1, 24)로 변경해주면 된다. (24는 2 or 3 or 4으로 나눠도 나머지 없이 딱! 떨어진다.)
아, 물론 이런식으로 24을 넣어주는 방법은 일시적이면서 무식한 방법이다.
정상적으로 DB2 substr를 사용하는 방법을 하단에 링크로 걸어놨다.
DB2 한글 substr 사용하기
출처 및 참고자료 : ibm knowledge center
반응형
'IT 자료' 카테고리의 다른 글
DB2 한글 length 확인하기 (0) | 2015.08.20 |
---|---|
DB2 substr 사용하기 (0) | 2015.08.20 |
input text 한글로 입력 (0) | 2015.08.13 |
영문입력을 한글로 변환하기 (0) | 2015.08.13 |
DB2 날짜 계산 (0) | 2015.08.06 |