Коды завершения этапа выполнения

В таблице 15 приведены коды завершения конструкций встроенного SQL, возвращаемые PCI – претранслятором встроенного SQL (для языка C).

Коды завершения, возвращаемые СУБД ЛИНТЕР на этапе выполнения, приведены в документе «СУБД ЛИНТЕР. Справочник кодов завершения».

Таблица 15. Коды завершения этапа выполнения
Идентификатор кодаЧисловое значениеПричинаКомментарий

OK_

0

Нормальное завершение.

ErrPCI_NotFound

3000

Конец выборки.

Не найдено (не удалено, не заменено, не добавлено) ни одной записи.

ErrPCI_LimRes

3001

Превышение ресурсов (пределов) реализации.

Превышен один из пределов для данной реализации: не более 256 переменных в одном операторе; не более 4096 символов в тексте оператора.

ErrPCI_IncTyp

3002

Несовместимость типов.

Попытка выбрать значение поля записи в переменную, тип которой несовместим с типом выбираемого значения.

ErrPCI_InvVarCnt

3003

Неверное число переменных.

Конструкция USING содержит иное число входных переменных, чем было указано при объявлении курсора, либо конструкция INTO содержит иное число выходных переменных, чем выбирает оператор SELECT.

ErrPCI_NoMem

3004

Не хватает памяти.

Нехватка памяти при резервировании рабочих структур.

ErrPCI_InvPar

3005

Синтаксическая ошибка в запросе.

При анализе текста SQL-предложения обнаружена синтаксическая ошибка.

ErrPCI_ManyKor

3006

Выбрано слишком много записей.

Попытка выполнить оператор SELECT, который выбирает больше записей, чем размерность массива, указанного в качестве приемника записей: приемник данных – скаляр, а выбрано более 1 записи.

ErrPCI_IncDim

3007

Несоответствие размеров массивов.

В качестве переменных, участвующих в одном операторе, указаны массивы разных размерностей, либо переменные-массивы и входные параметры имеют неодинаковые длины, либо переменные-массивы и входные параметры имеют длину меньшую, чем указано повторов в опции FOR.

ErrPCI_InvFetchPar

3008

Неверные параметры FETCH.

При выборе одновременно нескольких записей указан модификатор команды FETCH, отличный от NEXT.

ErrPCI_ChanAlrOpen

3010

Канал уже открыт.

Попытка повторной подачи оператора CONNECT для той же БД.

ErrPCI_ChanNotOpen

3011

Канал не был открыт.

Попытка работы с каналом до установления логической связи с помощью команды CONNECT либо попытка закрыть неоткрытый канал.

ErrPCI_StatNotPrep

3012

Предложение не подготовлено – не было PREPARE.

Попытка выполнить предложение, которое не подготовлено к выполнению командой PREPARE.

ErrPCI_CursNotOpen

3013

Курсор не открыт.

Попытка работы с курсором, который еще не был открыт.

ErrPCI_CursAlrOpen

3014

Курсор уже был открыт.

Попытка повторного открытия курсора.

ErrPCI_NotDesc

3015

Предложение не подготовлено – не было DESCRIBE.

Попытка выполнить оператор OPEN или FETCH с конструкцией USING DESCRIPTOR для дескриптора, не заполненного командой SQL DESCRIBE.

ErrPCI_DescSmall

3016

В дескрипторе слишком мало элементов.

Зарезервированное число элементов в дескрипторе недостаточно для занесения информации обо всех переменных.

ErrPCI_CursNotFetch

3017

Не был выполнен FETCH – выборка BLOB невозможна.

При работе с BLOB-значением запись, содержащую это значение, необходимо предварительно выбрать с помощью оператора FETCH.

ErrPCI_InvDescIdx

3019

Неверный идентификатор дескриптора.

Неверный номер точки входа дескриптора (< 1).

ErrPCI_DescNotAll

3020

Дескриптор не инициализирован.

Не все описатели дескриптора инициализированы.

ErrPCI_NullNoInd

3021

Нет индикатора NULL-значений.

Возвращено NULL-значение, а индикаторной переменной нет.

ErrPCI_NoDest

3022

Не привязан выходной параметр.

В динамическом SQL-предложении к выходному параметру не привязан описатель дескриптора.

ErrPCI_InvVal

3023

Неверное значение параметра.

Значение не соответствует типу данных параметра.

ErrPCI_NotBind

3024

Не привязан входной параметр.

В динамическом SQL-предложении к входному параметру не привязан описатель дескриптора.

ErrPCI_NoContext

3025

Контекст не инициализирован.

Не выполнен оператор инициализации контекста в многопоточной программе.

ErrPCI_WrongPrototype

3026

Прототип процедуры не соответствует ее вызову.

ErrPCI_TooLong

3027

Слишком длинная строка во входном параметре.

ErrPCI_NullProhibited

3028

Поле не может быть NULL.

ErrPCI_StatNotSelect

3029

Попытка создать курсор для не select-предложения.

ErrPCI_InvIVarCnt

3030

При привязке параметров не совпало число формальных и фактических входных параметров.

ErrPCI_InvOVarCnt

3031

Несовпадение количества параметров.

При привязке параметров не совпало число формальных и фактических выходных параметров.

ErrPCI_NoncompVer

3032

Несовместимые версии сервера и библиотеки.

ErrPCI_Internal

3100

Неверный указатель структуры.

Внутренняя ошибка в библиотеке: испорчено содержимое внутренних структур данных.