ORA-12899 오류 해결, 예방 방법
해당 오라클 오류는 '열에 대한 값이 너무 큼'이라고 친절하게 알려준다. 오라클 오류 중에 어쩌면 가장 쉽게 해결 가능한 오류인데, insert나 update할 테이블(오브젝트)의 칼럼보다 전달한 파라미터의 크기가 더 큰 경우에 발생한다.
1. 화면단에서 길이 제어
해결방법 중에 가장 쉬운 방법은 웹일 경우 화면단에서 데이터 길이를 미리 검사하는 것이다.
예1) 스크립트에서 길이를 검사하는 방법
var tmp = '검사할 데이터';
if(tmp.length > 제한할 길이){
alert("입력 길이가 너무 길어염.");
return false;
}
예2) input 태그에 maxlength를 설정해주는 방법
나이 : <input maxlength="3" /> <!-- 최대 3자 -->
이름 : <input maxlength="20" /> <!-- 최대 20자 -->
2. 컨트롤러 단에서 길이 제한
API로 연동된 경우 화면단이 존재하지 않으므로 컨트롤러 단에서 길이를 검사하든지 try/catch를 추가하여 오류 내역과 오브젝트와 컬럼 명이 외부에 노출되지 않도록 조치를 취한다.
Java의 경우 자바스크립트와 마찬가지로 데이터의 길이를 검사하면 간단하게 막을 수 있다. 그리고 경우에 따라서는 길이가 너무 길 경우 throw Exception을 강제로 발생시켜 웹 화면으로 오라클 오류가 직접 노출되지 않도록 처리한다.
끝~!
'[개발] Programming > Database' 카테고리의 다른 글
dbeaver 오라클 디비 연결 오류 - Error resolving dependencies Maven artifact.. (0) | 2021.05.25 |
---|---|
iBatis 에서 if else 처럼 사용하는 조건문 (0) | 2020.11.18 |
MySQL ON [PRIMARY] 의미 (0) | 2020.08.18 |
[MySQL] INT IDENTITY(N, M) - 시퀀스 함수 (0) | 2020.08.17 |
오라클, 컬럼 명으로 테이블 찾는 방법 (ALL_TAB_COLUMNS) (0) | 2019.10.31 |
댓글