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

Примеры
  1. Создание тестовой таблицы.

    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 
  2. Возможные форматы логических данных.

    Длина 1: (0/1, T/F, Y/N)

    Длина 3: (YES/NO)

    Длина 5: (TRUE/FALSE)