Jump to content

Коды возврата SQL DB2

Коды возврата SQL используются ежедневно для диагностики ошибок программирования в результате SQL вызовов программами IBM Db2 . Важной особенностью программ IBM Db2 является обработка ошибок. Диагностика ошибок, содержащая код возврата SQL, хранится в поле SQLCODE в блоке SQLCA Db2.

SQLCODE больше не является частью стандарта SQL. Стандарт SQL заменил SQLCODE более подробным SQLSTATE .

Структура области связи SQL (SQLCA) используется в программе IBM Db2 для возврата обратной связи прикладной программе .

Поле SQLCODE содержит код возврата SQL. Код может быть нулевым (0), отрицательным или положительным:

  • 0 означает, что выполнение прошло успешно.
  • Отрицательные значения указывают на неудачное выполнение с ошибкой.
    Примером является −911 , что означает, что произошел таймаут с откатом .
  • Положительное значение означает успешное выполнение с предупреждением.
    Примером может служить +100 , что означает, что соответствующие строки не найдены или курсор достиг конца таблицы.

Вот более полный список SQLCODE для DB2. Обратите внимание, что этот список не является исчерпывающим. Также обратите внимание, что некоторые SQLCODE могут встречаться только в определенных продуктах Db2; например, только в Db2 z/OS , только в Db2 LUW или только в Db2 для IBM i .

Ноль (Успешный)

[ редактировать ]
0 Успешный

Отрицательные значения (ошибки)

[ редактировать ]
-007 Указанный «символ» не является допустимым символом в операторах SQL.
-010 Строковая константа, начинающаяся со строки, не завершается должным образом.
-029 Пункт INTO обязателен.
-060 НЕДЕЙСТВИТЕЛЬНЫЙ тип СПЕЦИФИКАЦИЯ: спецификация
-084 Недопустимый оператор SQL.
-101 Утверждение слишком длинное или слишком сложное.
-102 Строковая константа слишком длинная.
-103 Строковая константа слишком длинная. Максимум — 128 символов.
-104 В операторе SQL обнаружен недопустимый символ.
-105 Строковая константа слишком длинная.
-117 Количество значений в INSERT не соответствует количеству столбцов.
-119 Ошибка в предложении GROUP BY или HAVING.
-122 Столбец или выражение в списке выбора недопустимо.
-156 Неверный синтаксис рядом с ключевым словом.
-180 Неверные данные в дате/времени/временной метке.
-181 Неверные данные в дате/времени/временной метке.
-188 Переменная хоста в инструкции DESCRIBE не является допустимым строковым представлением имени.
-199 Незаконное использование указанного ключевого слова.
-203 ССЫЛКА НА КОЛОННУ Имя столбца НЕОДНОЗНАЧНО
-204 Объект не определен в Db2.
-205 Имя столбца отсутствует в таблице.
-206 Столбец не существует ни в одной таблице SELECT.
-207 Недопустимое имя столбца.
-208 ПОРЯДОК ПО ПРЕДЛОЖЕНИЮ НЕДЕЙСТВИТЕЛЬЕН, ПОСКОЛЬКУ КОЛОНКА имя-столбца НЕ ЯВЛЯЕТСЯ ЧАСТЬЮ ТАБЛИЦЫ РЕЗУЛЬТАТОВ
-209 Неоднозначное имя столбца
-216 Не одинаковое количество выражений с обеих сторон сравнения в SELECT.
-224 FETCH не может сделать НЕЧУВСТВИТЕЛЬНЫЙ курсор ЧУВСТВИТЕЛЬНЫМ.
-229 Языковой стандарт, указанный в инструкции SET LOCALE, не найден.
-257 Неявное преобразование типа данных не допускается.
-289 Db2 не хватает места в табличном пространстве
-302 ЗНАЧЕНИЕ ВХОДНОЙ ПЕРЕМЕННОЙ ИЛИ НОМЕР ПАРАМЕТРА номер позиции НЕДЕЙСТВИТЕЛЬНО ИЛИ СЛИШКОМ БОЛЬШОЕ ДЛЯ ЦЕЛЕВОГО СТОЛБЦА ИЛИ ЦЕЛЕВОГО ЗНАЧЕНИЯ
-303 ЗНАЧЕНИЕ НЕ МОЖЕТ БЫТЬ НАЗНАЧЕНО ВЫХОДНОЙ ПЕРЕМЕННОЙ ХОСТА НОМЕР позиции-номер, ПОТОМУ ЧТО ТИПЫ ДАННЫХ НЕ СРАВНЯЮТСЯ
-305 Нужен нулевой индикатор.
-310 Значение десятичной дроби равно нулю
-311 Варчар, вставить или обновить. -Поле LEN с неправильной длиной данных не установлено.
-313 Количество указанных переменных хоста не равно количеству маркеров параметров.
-401 Типы данных операндов операции несовместимы.
-404 Указанный оператор Sql содержит слишком длинную строку.
-407 ЗНАЧЕНИЕ ОБНОВЛЕНИЯ, ВСТАВКИ ИЛИ УСТАНОВКИ ИМЕЕТ НУЛЕВОЕ значение, НО Имя столбца ОБЪЕКТ СТОЛБЕЦ НЕ МОЖЕТ СОДЕРЖАТЬ НУЛЕВЫЕ ЗНАЧЕНИЯ
-408 Значение несовместимо с типом данных цели назначения. Имя цели — «<имя>». (***ОБС: Для любых случаев или решения CAST)
-413 Во время преобразования числового типа данных произошло переполнение.
-414 Предикат Like недействителен, поскольку первый операнд не является строкой.
-415 Соответствующие столбцы (номер столбца) операндов оператора множества несовместимы.
-418 Использование маркера параметра недопустимо.
-420 Значение строкового аргумента неприемлемо для функции «имя-функции».
-421 ОПЕРАНДЫ UNION ИЛИ UNION НЕ ИМЕЮТ ОДИНАКОВОЕ ЧИСЛО СТОЛБЦОВ.
-433 Данные слишком велики
-438 Приложение выдало ошибку с диагностическим текстом: текст
-440 Подпрограмма &1 в &2 не найдена с указанными параметрами. Функция или процедура с указанным именем и совместимыми аргументами не найдена.[1]
-482 Процедура не вернула локаторов.
-501 Курсор не открывается при FETCH.
-502 Открывающий курсор, который уже открыт.
-503 Необходимо указать обновляемый столбец.
-504 Имя курсора не объявлено.
-510 Таблицу, обозначенную курсором оператора Update или Delete, нельзя изменить.
-530 Ссылочная целостность, предотвращающая INSERT/UPDATE
-532 Ссылочная целостность (правило DELETE RESTRICT), предотвращающая DELETE.
-536 Ссылочная целостность (правило DELETE RESTRICT), предотвращающая DELETE.
-545 Проверьте ограничение, предотвращающее INSERT/UPDATE.
-551 Ошибка авторизации.
-554 Идентификатор авторизации или роль не могут ПРЕДОСТАВИТЬ привилегию самому себе.
-601 Вы попытались создать объект, который уже существует
-602 В индексе создания указано слишком много столбцов.
-603 уникальный индекс не может быть создан, поскольку таблица содержит строки, которые являются дубликатами по отношению к значениям идентифицированных столбцов и периодов
-604 определение типа данных указывает недопустимый атрибут длины, точности или масштаба.
-607 операция или опция операции не определена для этого объекта
-610 предупреждение: создание/изменение объекта поместило объект в ожидание
-611 можно указать только lockmax 0, если размер блокировки табличного пространства равен tablespace или table.
-612 идентификатор является повторяющимся именем
-613 первичный ключ, хэш-ключ или ограничение уникальности слишком длинный или содержит слишком много столбцов и точек.
-614 индекс не может быть создан или изменен, или длина столбца не может быть изменена, поскольку сумма внутренних длин столбцов для индекса превышает допустимый максимум
-615 тип операции не разрешен для используемого пакета
-616 obj-type1 имя-объекта1 невозможно удалить, поскольку на него ссылается объект-тип2 имя-объекта2
-617 индекс типа 1 недопустим для таблицы
-618 операция операция не разрешена в системных базах данных
-619 операция запрещена, поскольку база данных не остановлена
-620 ключевое слово ключевое слово в инструкции stmt-type не разрешено для пространства типа пробел в базе данных типа базы данных
-621 дубликат dbid dbid был обнаружен и ранее присвоен имени базы данных
-622 для смешанных данных недопустимо, поскольку опция установки смешанных данных отсутствует.
-623 кластер недействителен для имени таблицы
-624 таблица имя_таблицы уже имеет первичный ключ или ограничение уникальности с указанными столбцами и периодами
-625 таблица имя_таблицы не имеет индекса для обеспечения уникальности первичного или уникального ключа
-625 предупреждение: определение таблицы изменено на неполное
-626 оператор изменения не является исполняемым, поскольку набор страниц не остановлен
-627 оператор alter недействителен, поскольку табличное пространство или индекс содержит наборы данных, управляемые пользователем.
-628 пункты являются взаимоисключающими
-629 set null не может быть указан, поскольку имя внешнего ключа не может содержать нулевые значения
-630 ошибка: спецификация WHERE NOT NULL недействительна для индексов типа 1.
-631 имя внешнего ключа слишком длинное или содержит слишком много столбцов
-632 таблица не может быть определена как зависимая от имени таблицы из-за ограничений правила DELETE
-633 правило DELETE должно быть DELETE-правилом
-634 правило DELETE не должно быть каскадным
-635 правила DELETE не могут быть разными или не могут быть установлены на ноль
-636 диапазоны, указанные для номера части раздела, недействительны
-637 повторяющееся ключевое слово или предложение с названием ключевого слова
-638 таблица имя_таблицы не может быть создана, поскольку отсутствует определение столбца
-639 столбец внешнего ключа, допускающий значение NULL, с правилом DELETE, имеющим значение null, не может быть столбцом ключа секционированного индекса
-640 Невозможно указать строку размера блокировки, поскольку таблица в этом табличном пространстве имеет индекс типа 1.
-642 слишком много столбцов в уникальных ограничениях
-643 проверочное ограничение или значение выражения для столбца индекса превышает максимально допустимую длину ключевого выражения
-644 недопустимое значение, указанное для ключевого слова или предложения, ключевого слова или предложения в операторе stmt-type
-645 WHERE NOT NULL игнорируется, поскольку ключ индекса не может содержать значения NULL.
-646 таблица имя-таблицы не может быть создана в указанном табличном пространстве имя-табличного-пространства, поскольку оно уже содержит таблицу
-647 имя буферного пула bp для неявного или явного табличного пространства или имя индексного пространства не активировано
-650 оператор изменения не может быть выполнен, причина-код авторских прав 2014 TheAmericanProgrammer.com Несанкционированное копирование запрещено
-651 описание таблицы превышает максимальный размер дескриптора объекта.
-652 нарушение процедуры редактирования или проверки, определенной при установке, имя_процесса
-653 таблица имя-таблицы в секционированном табличном пространстве имя-пространства недоступно, поскольку ее секционированный индекс не был создан
-655 недопустимая стогруппа создания или изменения, поскольку группа хранения будет иметь как конкретные, так и неопределенные идентификаторы томов.
-658 тип объекта не может быть удален с помощью оператора оператора
-660 индекс имя-индекса не может быть создан или изменен в секционированном табличном пространстве имя-tspace, поскольку не указаны ограничения по ключам
-661 тип-объекта имя-объекта невозможно создать в секционированном табличном пространстве имя-tspace, поскольку количество спецификаций разделов не равно количеству разделов табличного пространства
-662 многораздельный индекс не может быть создан в табличном пространстве или табличное пространство не может управляться индексом. табличное пространство имя-tspace, причина-код-причины
-663 количество ключевых предельных значений либо равно нулю, либо превышает количество столбцов в ключе индекса имя-индекса
-664 внутренняя длина полей предельного ключа для секционированного индекса превышает длину, установленную менеджером индекса
-665 раздел раздела оператора alter опущен или недействителен
-666 Объект stmt-verb не может быть выполнен, поскольку функция выполняется
-667 индекс кластеризации для многораздельного табличного пространства не может быть удален явно
-668 столбец невозможно добавить в таблицу, поскольку в таблице есть процедура редактирования, определенная с чувствительностью атрибута строки
-669 объект не может быть удален явно. причина-код причины
-670 длина записи таблицы превышает ограничение размера страницы
-671 атрибут буферного пула табличного пространства нельзя изменить указанным образом, поскольку это приведет к изменению размера страницы табличного пространства.
-672 Удаление операции не разрешено для таблицы имя_таблицы
-676 физические характеристики индекса несовместимы по отношению к указанному утверждению. заявление не удалось. причина-код причины
-677 недостаточно виртуальной памяти для расширения буферного пула
-678 константа, указанная для ключа ограничения индекса, должна соответствовать типу данных data-type соответствующего столбца имя-столбца
-679 имя объекта не может быть создано, поскольку объект ожидает сброса
-680 слишком много столбцов указано для таблицы, представления или табличной функции
-681 столбец имя-столбца нарушает процедуру установки определенного поля. rt: код возврата, rs: код причины, msg: токен сообщения
-682 поле процедуры имя_процедуры не удалось загрузить
-683 спецификация столбца, отдельного типа, функции или элемента данных процедуры содержит несовместимые положения
-684 длина начальной строки списка констант слишком длинная
-685 неверный тип поля, имя столбца
-686 столбец, определенный с помощью полевой процедуры, нельзя сравнивать с другим столбцом с другой полевой процедурой
-687 типы полей несравнимы
-688 неверные данные, возвращенные из процедуры поля, имя столбца, msgno
-689 слишком много столбцов определено для зависимой таблицы
-690 утверждение отклонено службой поддержки управления определением данных. причина-код причины
-691 требуемая таблица регистрации имя_таблицы не существует
-692 требуемый уникальный индекс имя-индекса для таблицы регистрации ddl имя-таблицы не существует
-693 имя столбца столбца в таблице регистрации ddl или имя индекса не определено должным образом
-694 оператор схемы не может быть выполнен, поскольку ожидается удаление таблицы регистрации ddl имя_таблицы
-694 оператор ddl не может быть выполнен, поскольку в таблице регистрации ddl ожидается удаление
-695 недопустимое значение seclabel, указанное для столбца метки безопасности таблицы имя_таблицы
-696 определение триггера имя-триггера включает недопустимое использование имени корреляции или имени имени таблицы переходов. код причины=код причины
-697 старые или новые имена корреляции не допускаются в триггере, определенном с помощью предложения foreach. Имена old_table или new_table не допускаются в триггере с предложением before.
-747 Таблица недоступна.
-803 Дублирование ключа при вставке или обновлении.
-804 Ошибка во входных параметрах оператора SQL.
-805 DBRM или пакет не найден в плане.
-811 В SELECT INTO получено более одной строки.
-818 План и программа: несовпадение временных меток.
-902 Указатель на основной блок управления (RDA/CT) имеет значение 0, требуется перепривязка. Это также может произойти, если один из томов БД все еще присутствует, но недоступен.
-904 Недоступный ресурс. Кто-то другой блокирует ваши данные.
-911 Тупик или тайм-аут. Откат выполнен.
-913 Тупик или тайм-аут. Никакого отката.
-922 Требуется авторизация.
-924 Внутренняя ошибка соединения Db2.
-927 Языковой интерфейс был вызван, но соединение не было установлено.
-955 Память сортировки не может быть выделена для обработки оператора.
-964 Пространство журнала транзакций исчерпано или временно увеличено количество активных транзакций.
-970 неправильные (также отсутствующие) разрешения для файловых систем Db2/файловых систем Db2, принадлежащих пользователю root.
-998 Произошла ошибка во время транзакции или эвристической обработки.
   
-2310 Утилита не смогла сформировать статистику
-3508 Ошибка загрузки при доступе к рабочему пространству. Ошибка доступа к файлу или пути типа «TEMP_FILE» во время загрузки или запроса загрузки. Временный каталог, в котором хранятся файлы сообщений в задании загрузки, не имеет необходимых разрешений.
-7008 Указанный объект недопустим для запрошенной операции.
-10330 Отказано в разрешении на изменение базы данных. Обратитесь к системному администратору.
-30090 Удаленная операция недействительна для среды выполнения приложения.

Положительные значения (предупреждения)

[ редактировать ]
  +98 Оператор динамического SQL заканчивается точкой с запятой.
+100 Строка не найдена или курсор закончился.
+222 Попытка получить строку с помощью инструкции DELETE.
+223 Попытка получить строку в инструкции UPDATE.
+231 FETCH после BEFORE или AFTER, но не в допустимой строке.
+304 Значение с типом данных (тип данных 1) не может быть присвоено переменной хоста, поскольку это значение находится за пределами диапазона переменной хоста в позиции (номер позиции) с типом данных (тип данных 2).
+354 Оператор выборки набора строк мог вернуть одну или несколько строк данных. однако также было обнаружено одно или несколько условий предупреждения. используйте оператор get Diagnostics для получения дополнительной информации о возникших условиях.
+466 Хранимая процедура, указанная в proc, завершилась нормально. Процедура вернула количество наборов результатов SQL-запроса, указанное в параметре num .
+562 Предоставление привилегии было проигнорировано, поскольку получатель уже имеет привилегию от лица, предоставляющего право.
+802 Нулевой индикатор был установлен на -2 в качестве арифметического значения.

[ 1 ]

  1. ^ «Документация IBM» .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a877ac472a73dd3edd5c011f60a810cc__1702469940
URL1:https://arc.ask3.ru/arc/aa/a8/cc/a877ac472a73dd3edd5c011f60a810cc.html
Заголовок, (Title) документа по адресу, URL1:
DB2 SQL return codes - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)