다시문의 드립니다. oracle clob
- 작성자 :
- 김*중
- 작성일 :
- 2014-07-09 09:36:14
- 조회수 :
- 799
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
이상하게 어제 질문한거에 추가를 했는데 사라져있습니다. ;;;
암튼 문의 할건 현제 ibatis에서 바인드변수가 4000을 넘으면 에러가 납니다. long형은 롱만
쿼리는 update tb_table set
result_data = result_data || #data# where ~ 이런 식으로 저장을 하는데 ㅡㅡㅋ || 전에 result_data는 4000이 넘어도 문제가 없는 바인드 변수에 넣을 데이터가 4000이 넘을 경우 문제가 발생합니다. 전자 정부 프레임워크에 설정된 lob헨들러나 설정은 다 그대로인데요.
다른데서 찾아서 바인드 변수에 #data:CLOB# , #data:java.lang.String#등 왠만한건 다 해봤는데 안들어가지는데 뭐가 문제인건지 알고 싶습니다.
암튼 문의 할건 현제 ibatis에서 바인드변수가 4000을 넘으면 에러가 납니다. long형은 롱만
쿼리는 update tb_table set
result_data = result_data || #data# where ~ 이런 식으로 저장을 하는데 ㅡㅡㅋ || 전에 result_data는 4000이 넘어도 문제가 없는 바인드 변수에 넣을 데이터가 4000이 넘을 경우 문제가 발생합니다. 전자 정부 프레임워크에 설정된 lob헨들러나 설정은 다 그대로인데요.
다른데서 찾아서 바인드 변수에 #data:CLOB# , #data:java.lang.String#등 왠만한건 다 해봤는데 안들어가지는데 뭐가 문제인건지 알고 싶습니다.
A
안녕하세요. 김재중님.
|| 를 통한 문자열 합치기 처리에 대한 CLOB 처리를 Spring의 CLOB 처리 방식 상 처리가 어려울 것 같습니다. Oracle 자체에서도 지원이 되지 위와 같은 방식으로는 처리되지 않고 DBMS_LOB.APPEND()의 기능을 사용하셔야 가능 한 것 같고요.
이런 경우는 합치는 문장 자체를 Service나 DAO부분에서 이전 데이터와 합쳐서 합쳐진 전체 데이터를 하나의 파라미터로 처리해 보셔야 할 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.
|| 를 통한 문자열 합치기 처리에 대한 CLOB 처리를 Spring의 CLOB 처리 방식 상 처리가 어려울 것 같습니다. Oracle 자체에서도 지원이 되지 위와 같은 방식으로는 처리되지 않고 DBMS_LOB.APPEND()의 기능을 사용하셔야 가능 한 것 같고요.
이런 경우는 합치는 문장 자체를 Service나 DAO부분에서 이전 데이터와 합쳐서 합쳐진 전체 데이터를 하나의 파라미터로 처리해 보셔야 할 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.