Поделиться через


Коды ошибок SQLSTATE

Область применения:флажок Databricks SQL флажок Databricks Runtime 12.2 и более поздних версий

Все классы ошибок, возвращаемые Azure Databricks, связаны с 5 символом SQLSTATE. A SQLSTATE — это стандартная кодировка SQL для условий ошибок, часто используемых и другими клиентскими JDBCODBCAPI.

A SQLSTATE состоит из двух частей: двух символьного класса и трех подклассов символов. Каждый символ должен быть цифрой '0' в '9' или 'A' в 'Z'.

Хотя многие SQLSTATE значения назначаются стандартом SQL, другие являются общими в отрасли, относящиеся к Spark или Azure Databricks.

При необходимости Spark и Azure Databricks используют диапазоны классов 'KD' и подклассов 'K**' для индивидуальных SQLSTATE. Класс 'XX' используется для внутренних ошибок, гарантирующих отчет об ошибке.

Упорядоченный список классов ошибок см. в статье об обработке ошибок в Azure Databricks

Azure Databricks использует следующие SQLSTATE классы:

Класс 07: динамическая ошибка SQL

SQLSTATE Описание и формирование условий ошибки
07001 предложение using не соответствует спецификациям динамических параметров
07501 Параметр, указанный в параметре PREPARE или EXECUTE, недопустим.

Класс 08: исключение подключения

SQLSTATE Описание и формирование условий ошибки
08000 Исключение подключения
08001 Sql-client не удается установить ПОДКЛЮЧЕНИЕ к SQL
08003 подключение не существует
08004 SQL-server отклонил установление SQL-подключения
08006 сбой подключения
08KD1 Сервер занят.

Класс 0A: функция не поддерживается

SQLSTATE Описание и формирование условий ошибки
0A000 функция не поддерживается
0A001 несколько транзакций сервера
0AKD0 Перекрестная операция каталога или схемы не поддерживается
0AKD1 Функция безопасности не поддерживается
0AKDC Не поддерживается в Delta
0AKDD Для компонента требуется delta
0AKDE Функция, не включенная для этой таблицы Delta
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 Недопустимый формат datetime
22008 переполнение поля datetime
22009 Недопустимое значение смещения часового пояса
2200E Значение NULL в целевом объекте массива
2200G несоответствие наиболее конкретного типа
2200P значение интервала вне диапазона
22010 Недопустимое значение параметра индикатора
22012 деление на ноль
22015 переполнение поля интервала
22018 Недопустимое значение символа для приведения
2201B недопустимое регулярное выражение
2201E Недопустимый аргумент для естественного логарифма
22022 переполнение индикатора
22023 Недопустимое значение параметра
22024 нетерминированная строка C
22029 noncharacter в строке UCS
22032 Недопустимый текст JSON
2203G Элемент json sql не может быть приведение к целевому типу
22525 Недопустимое значение ключа секционирования.
22531 Аргумент встроенной или системной подпрограммы привел к ошибке.
22546 Недопустимое значение аргумента подпрограммы.
22KD0 Временная ошибка
22KD1 Недопустимый универсальный код ресурса (URI) или PATH
22KD2 Утверждение удостоверения не задано
22KD3 Не удается изменить исходный тип до целевого типа.
22P02 недопустимое текстовое представление
22P03 Недопустимое двоичное представление

Класс 23: нарушение ограничения целостности

SQLSTATE Описание и формирование условий ошибки
23001 ограничение нарушения
23502 Значение вставки или обновления равно NULL, но столбец не может содержать значения NULL.
23505 Произошло нарушение ограничения, введенного уникальным индексом или уникальным ограничением.
23512 Ограничение проверки нельзя добавить, так как таблица содержит строки, не удовлетворяющие определению ограничения.
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 откат транзакции

Класс 42: синтаксическая ошибка или нарушение правила доступа

SQLSTATE Описание и формирование условий ошибки
42000 синтаксическая ошибка или нарушение правила доступа
42001 Недопустимая ошибка кодировщика
42501 Идентификатор авторизации не имеет привилегий для выполнения указанной операции в определяемом объекте.
42505 Произошел сбой авторизации подключения.
42601 Символ, маркер или предложение недопустимо или отсутствует.
42602 Обнаружен недопустимый символ в имени.
42604 Обнаружена недопустимая числовая или строковая константа.
42605 Число аргументов, указанных для скалярной функции, недопустимо.
42607 Операнды статистической функции или оператора CONCAT недопустимы.
42608 Недопустимое использование NULL или DEFAULT в VALUES или инструкции назначения.
42611 Недопустимый столбец, аргумент, параметр или глобальное определение переменной.
42612 Строка инструкции — это инструкция SQL, которая недопустима в контексте, в котором она представлена.
42613 Предложения являются взаимоисключающими.
42614 Недопустимое ключевое слово или предложение дубликата.
42616 Недопустимые параметры, указанные
42617 Строка инструкции пуста или пуста.
42621 Недопустимое ограничение проверки или созданное выражение столбца.
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 Объект INSERT, UPDATEили DELETE также определяется (возможно, неявно через представление) в предложении FROM.
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 Операция не поддерживается в режиме сеанса READ ONLY.
42KD2 Имена таблиц-источников и таблиц-приемников операции SYNC должны совпадать.
42KD3 Невозможно добавить столбец, как указано.
42KD4 Операция не поддерживается, так как схема таблицы изменилась.
42KD5 Не удается создать файл или путь.
42KD6 Сведения о секции не найдены.
42KD7 Несоответствие подписи таблицы.
42KD8 Позиция столбца вне диапазона.
42KD9 Не удается определить схему таблицы.
42KDA Не удалось объединить файл в схему таблицы.
42KDB Недопустимый URL-адрес.
42KDC Ссылка на архивированный файл.
42KDD Неподдерживаемая операция в режиме потоковой передачи.
42KDE Неподдерживаемая операция с набором данных потоковой передачи.
42KDF Обязательный параметр подпрограммы отсутствует аргумент.
42KDG Целевая схема несовместима с приемными данными.
42KDH Недействительный источник для службы фильтрации.
42P01 Неопределенная таблица
42P02 Неопределенный параметр
42P06 повторяющаяся схема
42P07 повторяющаяся таблица
42P08 неоднозначный параметр
42P10 Недопустимая ссылка на столбец
42P18 неопределенный тип данных
42P20 Ошибка при окне
42P21 Несоответствие параметров сортировки
42P22 неопределенная сортировка
42S22 Столбец не найден
42S23 Выражение преобразования разделения не найдено в 'разделеноПо'

Класс 44: с нарушением параметра check

SQLSTATE Описание и формирование условий ошибки
44000 с нарушением параметра check

Класс 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 Ошибка ввода-вывода

Класс 82: вне памяти

SQLSTATE Описание и формирование условий ошибки
82001 Недостаточно памяти для агрегирования
82002 Недостаточно памяти для увеличения массива указателей
82003 Ошибка при вызове spill()
82100 вне памяти (не удалось выделить)

Класс F0: ошибка файла конфигурации

SQLSTATE Описание и формирование условий ошибки
F0000 Ошибка файла конфигурации

Класс HV: условие FDW

SQLSTATE Описание и формирование условий ошибки
HV000 Условие FDW
HV091 Недопустимый идентификатор поля дескриптора

Класс HY: условие для интерфейса командной строки

SQLSTATE Описание и формирование условий ошибки
HY000 Условие для интерфейса командной строки
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 создание исключения