Коды завершения
В процессе выполнения утилита выявляет ошибочные ситуации, вызванные следующими причинами:
-
неправильное представление данных в импортируемом файле;
-
неправильная спецификация командной строки;
-
отсутствие необходимых ресурсов и/или привилегий для выполнения заявленной операции.
В случае неправильного представления импортируемых данных ошибочная строка помещается в текстовый файл с расширением .err
(имя файла совпадает с именем lod-файла), и выполнение утилиты продолжается. Если задан ключ -ec
, то в err-файл вместе с ошибочной строкой помещается и строка, детализирующая причину ошибки. После исправления ошибочных данных err-файл может быть использован для дозагрузки пропущенных записей.
В случае ошибок в командной строке или невозможности импорта данных в целом по программным причинам работа утилиты завершается с выдачей соответствующего кода завершения (таблица 3).
Код | Причина | Комментарий |
---|---|---|
21 | Вызов loarel без параметров | Будет выдана справочная информация, затем код завершения |
22 | Слишком длинная строка | Длина значения столбца в импортируемом файле больше, чем определено в таблице, а режим усечения данных не задан. Длина имени пользователя больше максимально допустимого количества символов для имени пользователя |
23 | Неверный параметр | Неверный ключ в командной строке |
24 | Файл не найден | |
25 | Ошибка чтения файла | |
26 | Ошибка доступа к файлу | Ошибка BLOB-файла (файл запорчен) |
27 | Не выделена память | Внутренняя ошибка утилиты |
28 | Слишком много атрибутов в файле со списком столбцов | Количество столбцов в таблице не должно превышать 255 |
29 | В таблице нет столбцов, указанных в файле со списком столбцов | |
30 | Ошибка при загрузке BLOB-данных | Неправильное смещение порции. Неправильная спецификация для BLOB загрузочного файла |
31 | Ошибка открытия канала | Возможно, что у СУБД ЛИНТЕР не осталось свободных каналов |
32 | Ошибка чтения SYSREL | Невозможно прочитать информацию из системной таблицы $$$SYSRL |
33 | Ошибка чтения SYSUSR | Невозможно прочитать информацию из системной таблицы $$$USR |
34 | Указанный пользователь отсутствует в базе данных | |
35 | Таблицы нет в базе данных, или ее имя не определено | Отсутствуют ключи -f и -t , или указанной таблицы нет в БД |
36 | Неверные данные типа NUMERIC | |
37 | Данное значение атрибута превышает его допустимую длину | |
38 | Неверные данные типа DATE | |
39 | СУБД ЛИНТЕР не загружена | |
40 | Неверное имя пользователя | |
41 | Неверный пароль пользователя | |
42 | Ошибка при добавлении строки | Неверный формат строки в загрузочном файле |
43 | Несовпадение версий | Версия СУБД ЛИНТЕР, из дистрибутива которого взята утилита loarel, не совпадает с версией СУБД ЛИНТЕР, с которой утилита пытается работать |
44 | Работа прервана по сигналу | Работа утилиты была прервана с помощью сигнала SIGINT (только в среде ОС типа UNIX) |
45 | Зарезервирован | |
46 | Неизвестная кодировка | Заданная кодировка отсутствует в БД |