Формат 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
)