블로그 이미지
올해목표 // 10월 어학연수 떠나자~ 자수씨

카테고리

전체글 (1457)
Brand New! (28)
주절주절 (213)
MOT (11)
해외쇼핑 (49)
쇼핑노트 (150)
취미생활 (94)
iPhone (4)
Eclipse (121)
Google (83)
Spring (31)
JAVA (176)
JavaScript (59)
WEB (49)
Database (20)
OS (26)
Tools (8)
Tips (26)
IT정보 (1)
Book (21)
Programming (37)
외부행사 (43)
주변인들 (17)
여행노트 (60)
학교생활 (30)
회사생활 (52)
사회생활 (5)
외국어공부 (12)
잡동사니 (30)
Total
Today
Yesterday
 
11-16 09:37
 

달력

« » 2024.11
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
 

최근에 올라온 글

최근에 달린 댓글

'왜 안되지...'에 해당되는 글 1건

  1. 2010.03.10 Altibase 와 CLOB 의 오묘한 관계

Altibase 에서 제공해준 Altibase JDBC 를 통해서 CLOB 에 insert/update 를 하면 다음과 같은 오류 메시지가 떨어집니다.

[0]:Unable to insert(or update) NULL into NOT NULL column.

CLOB 로 잡은 컬럼이 NOT NULL 속성으로 잡혀 있었고, Altibase 에서 제공해준 PreparedStatement.setCharacterStream 를 이용하여 insert/update 를 하는 것이였습니다.

지푸라기라도 잡는 심정으로 해당 컬럼을 NULL 허용으로 잡고 다시 insert/update 를 해보니 정상적으로 동작하였습니다.

그 상태에서 바로 select 를 하여 ResultSet.getString 으로 값을 가져오게 되면 null 값만 가지고 옵니다.

select 도 Altibase 에서 제공해준 방식인 Clob.getCharacterStream 을 이용하여 가지고 오면 인코딩은 깨지긴 하였으나 값은 가지고 오는 것을 확인하였습니다.

JDBC 가 잘못된걸까요... 후우...

일단 해결책으로 보는 것은 CLOB 를 모두 NULL 허용으로 바꾸고 저희가 사용하는 iBatis 의 TypeHandler 를 이용하면 될 것으로 보입니다. 하지만 공수가 많이 드는 작업으로 생각이 되어...


Altibase 에서 제공해준 insert/update 방법입니다.


Altibase 에서 제공해준 select 방법입니다.



Posted by 자수씨
, |

글 보관함

최근에 받은 트랙백