반응형
LOB데이터의 데이터를 원하는 만큼 잘라주는 SUBSTR 함수 사용시 아래 에러가 발생하였습니다.
ORA-06502: PL/SQL: numeric or value error string
한글에러는 수치 또는 값 오류. 문자열 버퍼가 너무 작습니다.라는 에러였습니다.
관련해서 자료를 찾아서 정리합니다.
사용법은 아래와 같습니다.
dbms_lob.substr( clob_column, for_how_many_bytes, from_which_byte );
여기서 2번째 컬럼인 for_how_many_bytes의 자리에 넣는 숫자의 에러였습니다.
값의 return시에 dbms_output의 제한에 의해서 발생하는것입니다.
클라이언트의 최대버퍼사이즈를 키우거나 pl/sql로 처리되게 하거나, 4000bytes씩 잘라서 가져오게 하면 될거같습니다.
일반적인 쿼리로 쓰면 4000bytes가 최대입니다. 하지만 pl/sql 변수로 처리하면 32767bytes (32k) 까지 지원가능합니다.
출처 : https://asktom.oracle.com/ords/f?p=100:11:0::NO::P11_QUESTION_ID:367980988799
반응형
'Oracle > 운영' 카테고리의 다른 글
[CRS] RAC로 등록된 CRS의 resource를 삭제하기 (0) | 2024.07.23 |
---|---|
[ASM Process] Onnn 프로세스 (0) | 2024.06.18 |
DBMS_LOB (LOB 관련 정보 추출 패키지) (0) | 2024.05.21 |
MView - 12c New features (Realtime MView) (0) | 2024.01.30 |
Materialized View (MView) (0) | 2024.01.26 |
댓글