Формат 4
Данные, представленные в этом формате, соответствуют стандарту файлов экспорта, которые могут применяться MS Access, MS SQL, Oracle и др. СУБД.
Данные в этом формате выровнены по столбцам (по ширине) без разделителей. То есть каждый столбец таблицы должен быть представлен точным числом символов.
Если импортируемый файл представлен в формате 4, то должен присутствовать ключ -zl. Также могут задаваться и необязательные ключи -zf и -zi. Ключи -r и -rt должны отсутствовать.
Для этого формата существуют следующие правила:
-
ключ
-zlуказывает на использование данного формата; -
каждый столбец, представленный в импортируемом файле, должен занимать определенное количество позиций (символов). Например, если загружаемая таблица содержит столбец типа CHAR(10), то в импортируемом файле этому столбцу должно соответствовать 10 символов;
-
для указания утилите количества символов в импортируемых строках, соответствующих каждому столбцу, необходимо сформировать дополнительный текстовый файл (файл разметки), в котором через запятую перечислить эти величины и передать его утилите по ключу
-zf; -
если ключ
-zfне задан, утилита будет определять длину импортируемых строковых и байтовых данных исходя из типа и размерности данных соответствующего столбца загружаемой таблицы. Количество символов для представления в импортируемом файле других типов данных приведено в таблице. Дополнение до заданной длины должно выполняться с помощью пробелов; -
местоположение значения в пределах отведенной границы является плавающим, то есть может размещаться в любой позиции в пределах границы. Символами-заполнителями являются пробелы;
-
если файл разметки загружаемых строк не задан, по умолчанию используется следующая разметка:
| Тип данных | Количество символов в строке | |
|---|---|---|
| date | 19 | |
| boolean | 5 | |
| integer | 11 | |
| bigint | 11 | |
| smallint | 11 | |
| decimal | 22 | |
| real | 22 |
-
для устранения возможных ошибок, которые могут возникать при переносе данных из других СУБД, рекомендуется использовать ключ
-ziс вариантами значений. Это необходимо для таких ситуаций, как различный формат для типов данных BOOLEAN, DATE и др. (например, при выгрузке из MS Access в поле данных типа BOOLEAN может присутствовать1или0, тогда как для СУБД ЛИНТЕР необходимо true или false); -
одной записи таблицы должна соответствовать только одна строка в загружаемом файле, разбивка строки не допускается;
-
коды CR и LF в данные входить не должны (так как в этом формате они задают конец строки импортируемого файла);
-
представление данных типа DATE должно быть аналогичным формату 2.
Примеры
-
Создание тестовой таблицы.
create or replace table test (c1 char(1), c2 char(2), i1 int, i2 int, c3 varchar(3), d1 date, i3 int, d2 date, b1 byte(1), c4 char(4), b2 byte(2));
-
загрузка loarel с использованием файла разметки:
loarel -u SYSTEM/MANAGER8 -t "TEST" -f tst.lod -zl -zf tst.map
Файл
tst.lod:abb100200ccc21.09.201130022.09.2011afddddc5df
Файл
tst.map:1,2,3,3,3,10,3,10,2,4,4
-
загрузка loarel без файла разметки:
loarel -u SYSTEM/MANAGER8 -t "TEST" -f tst.lod -zl
Файл
tst.lod:abb100 200 ccc21.09.2011 300 22.09.2011 afddddc5df
-
-
Возможные форматы логических данных.
Длина 1: (
0/1,T/F,Y/N)Длина 3: (
YES/NO)Длина 5: (
TRUE/FALSE)