Загрузка Данных с SQL*Loader, Управляющий Файл

Рубрика: Перемещение Данных

Используйте Load Data из User Files Wizard, чтобы загрузить данные из плоского файла в базу данных Oracle.

Загрузка Данных с SQL*Loader, Управляющий Файл

Чтобы вывести мастер на экран, в Enterprise Manager выберите Data Movement > Move Row Data > Load Data from User Files.

Управляющий файл SQL*Loader

Управляющий файл SQL*Loader инструктирует SQL*Loader о:

  • Расположении данных, которые будут загружены

  • Формате данных

  • Деталях конфигурации:

    • Управление памятью

    • Исключение записей

    • Детали обработки прерванной загрузки

  • Детали манипулирования данными

Управляющий файл SQL*Loader

Управляющий файл SQL*Loader является текстовым файлом, который содержит инструкции языка определения данных (DDL). DDL используется, чтобы управлять следующими аспектами сеанса SQL*Loader:

  • Где SQL*Loader ищет данные для загрузки

  • Каким образом отформатированные данные должен ожидать SQL*Loader

  • Как SQL*Loader конфигурируется (включая управление памятью, критерии выборки и исключений, обработка прерванной загрузки и так далее), когда он загружает данные

  • Как SQL*Loader управляет загружаемыми данными

1	 -- Это пример управляющего файла
2 LOAD DATA
3 INFILE ’SAMPLE.DAT’
4 BADFILE ’sample.bad’
5 DISCARDFILE ’sample.dsc’
6 APPEND
7 INTO TABLE emp
8 WHEN (57) = ’.’
9 TRAILING NULLCOLS
10 (hiredate SYSDATE,
	 deptno POSITION(1:2) INTEGER EXTERNAL(3)
    NULLIF deptno=BLANKS,
	 job POSITION(7:14) CHAR TERMINATED BY WHITESPACE
	 NULLIF job=BLANKS "UPPER(:job)",
	 mgr POSITION(28:31) INTEGER EXTERNAL
	 TERMINATED BY WHITESPACE, NULLIF mgr=BLANKS,
    ename POSITION(34:41) CHAR
	 TERMINATED BY WHITESPACE "UPPER(:ename)",
	 empno POSITION(45) INTEGER EXTERNAL
	 TERMINATED BY WHITESPACE,
	 sal POSITION(51) CHAR TERMINATED BY WHITESPACE
	 "TO_NUMBER(:sal,’$99,999.99’)",
	 comm INTEGER EXTERNAL ENCLOSED BY ’(’ AND ’%’
	 ":comm * 100"
	 )

Объяснение этого демонстрационного управляющего файла (по номерам строк) следующее:

  1. Комментарии могут вставляться где угодно в разделе команд файла, но они не должны появиться в данных. Любой комментарий предваряется двумя дефисами. Весь текст справа от двойного дефиса игнорируется до конца строки.

  2. Оператор LOAD DATA указывает SQL*Loader, что это - начало новой загрузки данных. Если Вы продолжаете загрузку, которая была прервана в процессе работы, используйте оператор CONTINUE LOAD DATA.

  3. Ключевое слово INFILE определяет имя файла данных, содержащего данные, которые Вы хотите загрузить.

  4. Ключевое слово BADFILE определяет имя файла, в который помещаются исключенные записи.

  5. Ключевое слово DISCARDFILE определяет имя файла, в который помещаются забракованные записи.

  6. Ключевое слово APPEND является одной из опций, которые можно использовать, загружая данные в таблицу, которая не пуста. Чтобы загрузить данные в таблицу, которая пуста, используйте ключевое слово INSERT.

  7. Ключевое слово INTO TABLE позволяет Вам идентифицировать таблицы, поля и типы данных. Оно определяет отношение между записями в файле данных и таблицами в базе данных.

  8. Предложение WHEN определяет одно или более условий на поля, которым должна соответствовать каждая запись прежде, чем SQL*Loader загрузит данные. В этом примере SQL*Loader загружает запись, только если 57-ой символ является десятичной точкой. Эта десятичная точка разграничивает доллары и центы в поле и заставляет исключать записи, у которых поле SAL не имеет значения.

  9. Предложение TRAILING NULLCOLS указывает SQL*Loader обрабатывать любые относительно расположенные столбцы, которые отсутствуют в записи, как нулевые столбцы.

  10. Остаток управляющего файла содержит cписок полей, предоставляющих информацию о форматах столбцов в таблице, которая загружается.

Далее: Преимущества Онлайнового Исправления

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)