본문 바로가기
개발/DB

DB2 에러 정리

by 똘똘이박사 2021. 4. 16.

 

SQLCODE : 104
SQLSTATE : 42601
문법이 올바르지 않을 경우 발생
SQLCODE : 204
SQLSTATE: 42704
테이블이 없을때
SQLCODE : 206
SQLSTATE : 42703
컬럼이 존재하지 않을때
SQLCODE : 302
SQLSTATE : 22001
컬럼 사이즈가 문자열의 길이 보다 작을때...
SELECT 에서 발생하는 경우가 있다.
특히 ORDER BY 를 조회 할때 페이지 사이즈가 작기 때문에 발생하는 경우가 있는데
(ORDER BY를 생략해 주면 에러가 안난다.)
이럴때 페이즈 사이즈를 늘려 주거나, 읽어 오는 데이터의 길이를 제한해야 한다.
SQLCODE : 405
SQLSTATE : 42820
숫자 상수가 너무 길거나, 그 값이 해당 데이터 유형의 범위 내에 있지 않은 경우 발생
SQLCODE : 407
SQLCODE : 23502
not null 인 컬럼에 null을 입력하여 발생
SQLCODE : 413
SQLSTATE : 22003
데이터 형변환 시 수용할 수 없는 크기가 들어 왔을때 발생
예를 들어 Integer 타입은 10자리 정수를 표시한다. 
(소수점은 상관없다. 무시되기 때문이다. 어차피 정수부분만 표시할 것이기 때문에)
이때 11자리 이상의 데이터를 Integer로 형변환 하려고 하면 에러가 발생한다.
이럴때는 Bigint 함수등으로 변경해야 한다.
SQLCODE : 420
SQLSTATE : 22018
저장 프로시저 또는 사용자 정의 함수의 인자 갯수가 맞지 않을때 발생
SQLCODE : 551
SQLSTATE : 42401
계정 권한 문제
SQLCODE : 803
SQLSTATE : 23505
무결성 위반, 동일한 데이터(key)가 이미 존재한다.
SQLCODE : 911
SQLSTATE : 40001
트랜젝션 교착상태, 즉 테이블이 락이 걸린 상태
SQLCODE : 952
SQLSTATE : 57014
응용프로그램 힙에 명령문을 처리할 만큼 스토리지가 충분하지 않을때 발생
또는 DB2 client에 의해 SQL 실행이 취소된 경우(대부분 트랜젝션 타임 아웃에 의해) 발생한다.
이럴 경우 SQL 이나 관련 프로그램의 성능 튜닝이 필요하다.
SQLCODE 964
SQLSTATE : 57011
log full 일 경우 발생, DBA에게 확인 요청
반응형

'개발 > DB' 카테고리의 다른 글

[DB] 한 컬럼에 여러개의 결과 표현하기  (0) 2021.07.28
[DB] WITH AS 문 사용하기  (0) 2021.07.28