Доступные версии документации

Анализ и обработка кодов завершения

Коды завершения команд

Корректно написанные приложения обязаны проверять код завершения каждого поданного ими запроса. При нормальном завершении запроса гарантируется, что приложение получило правильные (в контексте поданной команды) данные и дальнейший процесс обработки информации имеет смысл.

Если СУБД не может выполнить команду, то в приложение возвращается код завершения, указывающий на возможную причину ошибки. Проведя анализ кода завершения, можно выявить причину отказа в выполнении запроса и, в зависимости от ситуации, либо повторить запрос с правильными значениями параметров, либо прекратить работу приложения.

Интерфейс нижнего уровня предоставляет клиентскому приложению, в общем случае, два кода завершения – код завершения, сформированный ядром СУБД ЛИНТЕР или непосредственно самим интерфейсом нижнего уровня (возвращается в поле CodErr контрольного блока) и, в некоторых случаях, дополнительный код завершения, формируемый операционной системой при выполнении запросов ядром СУБД (возвращается в поле SysErr контрольного блока), и детализирующий код завершения ядра СУБД. Например, если в поле CodErr возвращен код завершения ERROPFIL («Ошибка открытия файла»), то в поле SysErr будет возвращено более подробное описание ошибки (например, файл с заданным именем не найден, не разрешен совместный доступ к файлу, нельзя открыть файл для заданной операции и т.п.). При этом в разных операционных системах в случае идентичных ошибочных ситуаций код завершения, возвращаемый в поле CodErr, будет всегда одинаков, в то время как значение, возвращаемое в поле SysErr, в общем случае, будет отличаться.

Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter