Database/SQL

[Oracle] "ORA-06502: PL/SQL: 수치 또는 값 오류: 문자열 버퍼가 너무 작습니다" 오류 해결

헹창 2021. 4. 30.
반응형

[Oracle] "ORA-06502: PL/SQL: 수치 또는 값 오류: 문자열 버퍼가 너무 작습니다" 오류 해결

 

 

 

 

 

 

CLOB 타입의 데이터를 조회하는 과정에 발생한 오류이다.

 

 

전자정부 프레임워크 SpringMVC 모델의 프로젝트의 MyBatis 를 사용하여 DB 데이터를 조회한 쿼리를 VO 객체에 담아 View에 보내는 과정이었다.

 

 

CLOB 타입의 데이터를 VO에 담기 위해서는 다음과 같은 쿼리를 작성했다.

 

 

SELECT SEQ_NO
     , SUBJECT
     , DBMS_LOB.SUBSTR(CONTENTS_CLOB, 4000, 1) AS CONTENTS
  FROM WEB_OP_BBS

 

 

CONTENTS_CLOB 컬럼의 컨텐츠를 지정 바이트 (4000) 만큼 잘라오는 쿼리이다.

 

 

실제로 CONTENTS_CLOB 에 이미지 BYTE 데이터가 들어가이쓰었는데, 4000바이트 크기보다 훨씬 커서 담을 수 없어 나는 에러였다.

 

 

 

이미지 바이트 크기를 확인한 후 바이트 크기를 수정하였다.

 

 

SELECT SEQ_NO
     , SUBJECT
     , DBMS_LOB.SUBSTR(CONTENTS_CLOB, 10000, 1) AS CONTENTS
  FROM WEB_OP_BBS

 

 

 

728x90
반응형

댓글

추천 글