다음을 통해 공유


SQLSTATE 오류 코드

적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime 12.2 이상

Azure Databricks에서 반환된 모든 오류 클래스는 5개 문자 SQLSTATE와 연결됩니다. A SQLSTATE 는 , 및 기타 클라이언트 API에서 일반적으로 사용하는 JDBCODBC오류 조건에 대한 SQL 표준 인코딩입니다.

A는 SQLSTATE 2개의 문자 클래스와 3개의 문자 서브클래스로 구성됩니다. 각 문자는 숫자 '0' 여야 '9''A''Z'합니다.

많은 SQLSTATE 값은 SQL 표준에 의해 규정되지만 다른 값은 Spark 또는 Azure Databricks와 관련된 업계에서 일반적입니다.

필요한 경우 Spark 및 Azure Databricks는 사용자 지정 SQLSTATE에 'KD' 클래스 및 'K**' 하위 클래스 범위를 사용합니다. 이 클래스 'XX' 는 버그 보고서를 보증하는 내부 오류에 사용됩니다.

정렬된 오류 클래스 목록은 다음을 참조하세요: Azure Databricks의 오류 처리

Azure Databricks는 다음 SQLSTATE 클래스를 사용합니다.

클래스 07: 동적 SQL 오류

SQLSTATE 설명 및 발급 오류 조건
07001 using 절이 동적 매개 변수 사양과 일치하지 않음
07501 PREPARE 또는 EXECUTE에 지정된 옵션이 잘못되었습니다.

클래스 08: 연결 예외

SQLSTATE 설명 및 발급 오류 조건
08000 연결 예외
08001 SQL-클라이언트가 SQL 연결을 설정할 수 없음
08003 연결이 없습니다.
08004 SQL-Server에서 SQL 연결 설정 거부
08006 연결 실패
08KD1 서버 사용 중

클래스 0A: 지원되지 않는 기능

SQLSTATE 설명 및 발급 오류 조건
0A000 기능이 지원되지 않음
0A001 여러 서버 트랜잭션
0AKD0 카탈로그 간 또는 스키마 작업이 지원되지 않음
0AKD1 보안 기능이 지원되지 않음
0AKDC 델타에서 지원되지 않음
0AKDD 기능에 델타가 필요합니다.
0AKDE 이 델타 테이블에 대해 사용하도록 설정되지 않은 기능
0AKLT Delta Live에서 사용할 수 없는 기능
0AKUC Unity 카탈로그에서 지원되지 않음
0AKUD 기능에 Unity 카탈로그가 필요합니다.

클래스 0B: 잘못된 트랜잭션 시작

SQLSTATE 설명 및 발급 오류 조건
0B000 잘못된 트랜잭션 시작

클래스 0K: 처리기가 활성화되지 않은 경우 다시 수행

SQLSTATE 설명 및 발급 오류 조건
0K000 처리기가 활성화되지 않은 경우

클래스 0N: SQL/XML 매핑 오류

SQLSTATE 설명 및 발급 오류 조건
0N000 SQL/XML 매핑 오류

클래스 21: 카디널리티 위반

SQLSTATE 설명 및 발급 오류 조건
21000 카디널리티 위반
21506 동일한 테이블 행은 업데이트, 삭제 또는 삽입 작업 중 하나 이상의 대상이 될 수 없습니다.
21S01 값 삽입 목록이 열 목록과 일치하지 않음

클래스 22: 데이터 예외

SQLSTATE 설명 및 발급 오류 조건
22000 데이터 예외
22001 문자열 데이터, 오른쪽 잘림
22003 숫자 값이 범위를 벗어났습니다.
22004 null 값이 허용되지 않음
22005 할당 오류
22006 잘못된 간격 형식
22007 날짜/시간 형식이 잘못되었습니다.
22008 datetime 필드 오버플로
22009 잘못된 표준 시간대 변위 값
2200E 배열 대상의 null 값
2200G 가장 구체적인 형식 불일치
2200P 간격 값이 범위를 벗어났습니다.
22010 잘못된 표시기 매개 변수 값
22012 0으로 나누기
22015 간격 필드 오버플로
22018 캐스트에 잘못된 문자 값
2201B 잘못된 정규식
2201E 자연 로그에 대한 인수가 잘못되었습니다.
22022 표시기 오버플로
22023 잘못된 매개 변수 값
22024 확정되지 않은 C 문자열
22029 UCS 문자열의 비문자
22032 잘못된 JSON 텍스트
2203G sql json 항목을 대상 형식으로 캐스팅할 수 없습니다.
22525 키 값을 분할할 수 없습니다.
22531 기본 제공 또는 시스템 제공 루틴의 인수로 인해 오류가 발생했습니다.
22546 루틴 인수의 값이 잘못되었습니다.
22KD0 일시적인 오류
22KD1 잘못된 URI 또는 PATH
22KD2 ID 클레임이 설정되지 않음
22KD3 원본 형식을 대상 형식으로 발전할 수 없습니다.
22P02 잘못된 텍스트 표현
22P03 잘못된 이진 표현

클래스 23: 무결성 제약 조건 위반

SQLSTATE 설명 및 발급 오류 조건
23001 위반 제한
23502 삽입 또는 업데이트 값은 null이지만 열에 null 값을 포함할 수 없습니다.
23505 고유 인덱스 또는 고유 제약 조건에 의해 적용되는 제약 조건 위반이 발생했습니다.
23512 테이블에 제약 조건 정의를 충족하지 않는 행이 포함되어 있으므로 CHECK 제약 조건을 추가할 수 없습니다.
23K01 MERGE 카디널리티 위반

클래스 25: 잘못된 트랜잭션 상태

SQLSTATE 설명 및 발급 오류 조건
25000 잘못된 트랜잭션 상태

클래스 28: 잘못된 권한 부여 사양

SQLSTATE 설명 및 발급 오류 조건
28000 잘못된 권한 부여 사양

클래스 2B: 종속 권한 설명자가 여전히 존재합니다.

SQLSTATE 설명 및 발급 오류 조건
2BP01 종속 개체는 여전히 존재합니다.

클래스 2D: 잘못된 트랜잭션 종료

SQLSTATE 설명 및 발급 오류 조건
2D521 SQL COMMIT 또는 ROLLBACK은 현재 운영 환경에서 유효하지 않습니다.
2DKD0 커밋 후 후크가 실패했습니다.

클래스 35: 잘못된 조건 번호

SQLSTATE 설명 및 발급 오류 조건
35000 잘못된 조건 번호

클래스 38: 외부 루틴 예외

SQLSTATE 설명 및 발급 오류 조건
38000 외부 루틴 예외

클래스 39: 외부 루틴 호출 예외

SQLSTATE 설명 및 발급 오류 조건
39000 외부 루틴 호출 예외

클래스 3D: 잘못된 카탈로그 이름

SQLSTATE 설명 및 발급 오류 조건
3D000 카탈로그 이름이 잘못되었습니다.

클래스 3F: 잘못된 스키마 이름

SQLSTATE 설명 및 발급 오류 조건
3F000 잘못된 스키마 이름

클래스 40: 트랜잭션 롤백

SQLSTATE 설명 및 발급 오류 조건
40000 트랜잭션 롤백(transaction rollback)

클래스 42: 구문 오류 또는 액세스 규칙 위반

SQLSTATE 설명 및 발급 오류 조건
42000 구문 오류 또는 액세스 규칙 위반
42001 잘못된 인코더 오류
42501 권한 부여 ID에는 식별된 개체에 대해 지정된 작업을 수행할 수 있는 권한이 없습니다.
42505 연결 권한 부여 오류가 발생했습니다.
42601 문자, 토큰 또는 절이 잘못되었거나 누락되었습니다.
42602 이름에 잘못된 문자가 검색되었습니다.
42604 잘못된 숫자 또는 문자열 상수가 검색되었습니다.
42605 스칼라 함수에 대해 지정된 인수 수가 잘못되었습니다.
42607 집계 함수 또는 CONCAT 연산자의 피연산자가 잘못되었습니다.
42608 VALUES 또는 대입 문에서 NULL 또는 DEFAULT를 사용하는 것은 유효하지 않습니다.
42611 열, 인수, 매개 변수 또는 전역 변수 정의가 잘못되었습니다.
42612 문 문자열은 SQL 문이 표시되는 컨텍스트에서 허용되지 않는 SQL 문입니다.
42613 절은 상호 배타적입니다.
42614 중복 키워드 또는 절이 잘못되었습니다.
42616 잘못된 옵션을 지정했습니다.
42617 문 문자열이 비어 있거나 비어 있습니다.
42621 CHECK 제약 조건 또는 생성된 열 식이 잘못되었습니다.
42623 DEFAULT 절을 지정할 수 없습니다.
42701 동일한 SQL 문의 할당에 대해 동일한 대상이 두 번 이상 지정됩니다.
42702 열 참조는 이름이 중복되어 모호합니다.
42703 정의되지 않은 열 또는 매개 변수 이름이 검색되었습니다.
42704 정의되지 않은 개체 또는 제약 조건 이름이 검색되었습니다.
42710 중복 개체 또는 제약 조건 이름이 검색되었습니다.
42711 개체 정의 또는 ALTER TABLE 문에서 중복 열 이름이 검색되었습니다.
42713 목록에서 중복 개체가 검색되었거나 기존 개체와 동일합니다.
42723 스키마, 모듈, 또는 복합 블록에 동일한 시그니처를 가진 루틴이 이미 정의되어 있습니다.
42734 중복 매개 변수 이름, SQL 변수 이름, 레이블 또는 조건 이름이 검색되었습니다.
4274K 루틴을 호출할 때 명명된 인수를 잘못 사용합니다.
42802 대상 값의 수는 원본 값의 수와 다릅니다.
42803 SELECT 또는 HAVING 절의 열 참조는 그룹화 열이 아니므로 유효하지 않습니다. 또는 GROUP BY 절의 열 참조가 잘못되었습니다.
42804 CASE 식의 결과 식은 호환되지 않습니다.
42805 ORDER BY 절의 정수는 결과 테이블의 열을 식별하지 않습니다.
42806 데이터 형식이 호환되지 않으므로 변수에 값을 할당할 수 없습니다.
42807 이 개체에는 데이터 변경 문이 허용되지 않습니다.
42808 INSERT 또는 UPDATE 작업에서 식별된 열은 업데이트할 수 없습니다.
42809 식별된 개체는 문이 적용되는 개체의 형식이 아닙니다.
42815 데이터 형식, 길이, 배율, 값 또는 CCSID가 잘못되었습니다.
42816 식의 날짜/시간 값 또는 기간이 잘못되었습니다.
42818 연산자 또는 함수의 피연산자는 호환되거나 비교할 수 없습니다.
42822 ORDER BY 절 또는 GROUP BY 절의 식이 유효하지 않습니다.
42823 하나의 열만 허용하는 하위 쿼리에서 여러 열이 반환됩니다.
42825 UNION, INTERSECT, EXCEPT 또는 VALUES 행에는 호환되는 열이 없습니다.
42826 UNION, INTERSECT, EXCEPT 또는 VALUES 행의 열 수는 동일하지 않습니다.
42830 외래 키는 부모 키에 대한 설명을 따르지 않습니다.
42832 시스템 개체에서는 작업이 허용되지 않습니다.
42836 이름이 지정된 파생 재귀 테이블의 사양이 잘못되었습니다.
42837 열 특성이 현재 열 특성과 호환되지 않으므로 열을 변경할 수 없습니다.
42845 NOT DETERMINISTIC 또는 EXTERNAL ACTION 함수의 잘못된 사용이 감지되었습니다.
42846 원본 형식에서 대상 형식으로의 캐스트는 지원되지 않습니다.
42852 GRANT 또는 REVOKE 지정된 권한이 잘못되었거나 일치하지 않습니다. 예를 들어 보기에서 GRANT ALTER을 수행합니다.
42883 일치하는 서명이 있는 루틴을 찾을 수 없습니다.
42887 함수 또는 테이블 참조가 발생하는 컨텍스트에서 유효하지 않습니다.
42891 중복 제약 조건이 이미 있습니다.
42893 개체 또는 제약 조건을 삭제, 변경 또는 전송할 수 없거나 다른 개체가 개체에 종속되어 있으므로 해당 개체에서 권한을 취소할 수 없습니다.
428B3 잘못된 SQLSTATE가 지정되었습니다.
428C4 조건자 연산자의 각 면에 있는 요소 수가 동일하지 않습니다.
428EK 스키마 한정자는 유효하지 않습니다.
428FR 열을 지정된 대로 변경할 수 없습니다.
428FT CREATE 또는 ALTER에 지정된 분할 절이 잘못되었습니다.
428GU 테이블에는 암시적으로 숨겨지지 않은 열이 하나 이상 포함되어야 합니다.
428H2 데이터 형식은 사용 중인 컨텍스트에서 지원되지 않습니다.
428HD 열 마스크를 적용할 수 없거나 마스크 정의가 문과 충돌하므로 문을 처리할 수 없습니다.
42902 FROM 절에서는 INSERT, UPDATE또는 DELETE의 대상이 (뷰를 통해 암시적으로) 식별되기도 합니다.
42903 집계 함수 또는 OLAP 함수를 잘못 사용했습니다.
42908 문장에는 필수 열 목록이 포함되어 있지 않습니다.
42939 지정된 식별자가 시스템 사용을 위해 예약되어 있으므로 이름을 사용할 수 없습니다.
42996 지정된 열을 파티션 키에 사용할 수 없습니다.
429BB 열, 매개 변수 또는 SQL 변수의 데이터 형식은 지원되지 않습니다.
429BQ 데이터 형식 또는 특성의 지정된 변경은 허용되지 않습니다.
42K01 데이터 형식이 완전히 지정되지 않음
42K02 데이터 원본을 찾을 수 없음
42K03 파일을 찾을 수 없음
42K04 중복 파일
42K05 이름이 잘못되었습니다.
42K06 옵션의 형식이 잘못되었습니다.
42K07 유효한 스키마 리터럴이 아닙니다.
42K08 상수가 아님
42K09 데이터 형식 불일치
42K0A 잘못된 UNPIVOT 절
42K0B 레거시 기능이 차단됨
42K0C 제약 조건에 대한 모호한 참조
42K0D 잘못된 람다 함수
42K0E 사용되는 컨텍스트에서 식이 잘못되었습니다.
42K0F 지속형 개체는 임시 개체를 참조할 수 없습니다.
42K0G protobuf가 잘못되었습니다.
42K0H 순환 호출이 검색되었습니다.
42K0I SQL 구성을 찾을 수 없습니다.
42K0K 잘못된 역 분포 함수
42K0L 레이블 사용이 잘못되었습니다.
42K0M 잘못된 변수 선언입니다.
42K0N 잘못된 외부 형식입니다.
42K0O ScalarFunction은 사용자 지정 구현을 사용하여 'produceResult(InternalRow)' 메서드를 재정의하지 않습니다.
42K0P ScalarFunction은 'produceResult(InternalRow)' 메서드를 구현하거나 재정의하지 않습니다.
42K0Q 처리기 선언이 잘못되었습니다.
42K0R 잘못된 조건 선언입니다.
42K10 잘못된 동적 옵션입니다.
42KD0 모호한 이름 참조입니다.
42KD1 읽기 전용 세션 모드에서는 작업이 지원되지 않습니다.
42KD2 SYNC 작업의 원본 및 대상 테이블 이름은 동일해야 합니다.
42KD3 열을 지정된 대로 추가할 수 없습니다.
42KD4 테이블 스키마가 변경되어 작업이 지원되지 않습니다.
42KD5 파일 또는 경로를 만들 수 없습니다.
42KD6 파티션 정보를 찾을 수 없습니다.
42KD7 테이블 서명이 일치하지 않습니다.
42KD8 열 위치가 범위를 벗어났습니다.
42KD9 테이블 스키마를 유추할 수 없습니다.
42KDA 파일을 테이블 스키마에 병합하지 못했습니다.
42KDB 잘못된 URL
42KDC 보관된 파일 참조입니다.
42KDD 스트리밍 보기에서 지원되지 않는 작업입니다.
42KDE 스트리밍 데이터 세트에 대해 지원되지 않는 작업입니다.
42KDF 필수 루틴 매개 변수에 인수가 없습니다.
42KDG 대상 스키마는 수집된 데이터와 호환되지 않습니다.
42KDH 서비스 필터링에 대한 원본이 잘못되었습니다.
42P01 정의되지 않은 테이블
42P02 undefined 매개 변수
42P06 중복 스키마
42P07 중복 테이블
42P08 모호한 매개 변수
42P10 열 참조가 잘못되었습니다.
42P18 확정되지 않은 데이터 형식
42P20 창 오류
42P21 데이터 정렬 불일치
42P22 확정되지 않은 데이터 정렬
42S22 컬럼을 찾을 수 없음
42S23 'partitionedBy'에 포함되지 않은 파티션 변환 식

클래스 44: 확인 옵션 위반

SQLSTATE 설명 및 발급 오류 조건
44000 확인 옵션 위반

클래스 46: Java DDL 1

SQLSTATE 설명 및 발급 오류 조건
46103 해결되지 않은 클래스 이름
46110 지원되지 않는 기능
46121 열 이름이 잘못되었습니다.

클래스 51: 잘못된 애플리케이션 상태

SQLSTATE 설명 및 발급 오류 조건
51000 잘못된 애플리케이션 상태
51024 개체가 작동하지 않는 것으로 표시되었으므로 사용할 수 없습니다.

클래스 53: 리소스 부족

SQLSTATE 설명 및 발급 오류 조건
53000 리소스 부족
53200 메모리 부족

클래스 54: 프로그램 제한을 초과했습니다.

SQLSTATE 설명 및 발급 오류 조건
54000 프로그램 제한을 초과했습니다.
54001 문이 너무 길거나 너무 복잡합니다.
54006 결과 문자열이 너무 깁니다.
54011 테이블, 뷰 또는 테이블 함수에 대해 너무 많은 열이 지정되었습니다.
54023 인수가 너무 많습니다.
54K00 중첩된 뷰의 최대 깊이를 초과했습니다.
54KD0 쿼리 계획의 최대 UDF 수를 초과했습니다.
54KD1 세션의 최대 개체 수를 초과했습니다.

클래스 55: 필수 구성 요소 상태가 아닌 개체

SQLSTATE 설명 및 발급 오류 조건
55000 필요한 상태가 아닌 개체
55019 개체가 작업에 잘못된 상태입니다.

클래스 56: 기타 SQL 또는 제품 오류

SQLSTATE 설명 및 발급 오류 조건
56000 기타 SQL 또는 제품 오류
56038 요청된 기능은 이 환경에서 지원되지 않습니다.
56098 암시적 다시 바인딩, 다시 컴파일 또는 유효성 재검사 중에 오류가 발생했습니다.
56K00 Spark Connect 오류

클래스 57: 연산자 개입

SQLSTATE 설명 및 발급 오류 조건
57000 운영자 개입
57012 데이터베이스가 아닌 리소스를 사용할 수 없습니다. 이는 후속 문의 성공적인 실행에 영향을 미치지 않습니다.
57KD0 쿼리 실행 시간 제한

클래스 58: 시스템 오류

SQLSTATE 설명 및 발급 오류 조건
58000 시스템 오류
58030 I/O 오류

클래스 82: 메모리 부족

SQLSTATE 설명 및 발급 오류 조건
82001 집계에 충분한 메모리가 없음
82002 메모리가 부족하여 포인터 배열을 늘릴 수 없습니다.
82003 spill()을 호출하는 동안 오류 발생
82100 메모리 부족(할당할 수 없음)

클래스 F0: 구성 파일 오류

SQLSTATE 설명 및 발급 오류 조건
F0000 구성 파일 오류

클래스 HV: FDW 관련 조건

SQLSTATE 설명 및 발급 오류 조건
HV000 FDW 관련 조건
HV091 설명자 필드 식별자가 잘못되었습니다.

클래스 HY: CLI 관련 조건

SQLSTATE 설명 및 발급 오류 조건
HY000 CLI 관련 조건
HY008 작업이 취소됨
HY109 커서 위치가 잘못되었습니다.

클래스 KD: 데이터 원본 관련 오류

SQLSTATE 설명 및 발급 오류 조건
KD000 데이터 원본 관련 오류
KD001 파일 바닥글을 읽을 수 없음
KD002 예기치 않은 버전
KD003 데이터 형식에 대한 잘못된 액세스
KD004 델타 프로토콜 버전 오류
KD005 테이블에 파티션이 아닌 열이 하나 이상 포함되어야 합니다.
KD006 로그 경로에서 커밋을 찾을 수 없음
KD007 테이블 서명이 변경됨
KD008 테이블 서명이 설정되지 않음
KD009 파티션이 일치하지 않음
KD00A 예기치 않은 부분 검사
KD00B 인식할 수 없는 파일
KD00C 연속되지 않는 버전 관리
KD00D 통계 필요
KD00E 테이블 기능 유효성 검사 실패
KD00F 클라우드 요청 오류
KD010 외부 데이터 원본 오류
KDL01 클러스터 시작 오류

클래스 P0: 절차 논리 오류

SQLSTATE 설명 및 발급 오류 조건
P0001 예외 발생