Акжан в сети - На уровень вверх(ORA) Как грузить DBF-файлы с помощью SQL*Loader?

Можно использовать ctl-файл такого вида:

 LOAD DATA
 infile "COUNT_VD.DBF" " DB3 16 "
 append
 into table AIS_AUDIT.T21AU_GAL
 TRAILING NULLCOLS
 (
 M_REG          "19",
 REGION          POSITION(2:6) INTEGER EXTERNAL,
 ENT_TYPE        POSITION(7:7) INTEGER EXTERNAL,
 KD              POSITION(8:12) CHAR,
 N_PLAT          POSITION(13:16) INTEGER EXTERNAL
 )

При загрузке файлов с кодировкой DOS(866) LOAD DATA лучше заменить на LOAD DATA characterset ru8pc866.

Размерности полей соответствуют размерностям в .DBF-файле.

Hо ctl-файл такого вида понимают только loader'ы под виндами. Если попробуешь использовать этот ctl-файл для Unix (проверено для Dynix), получишь на выходе ругань.

В Oracle 8.0.5 и более поздних редакциях такая конструкция больше не работает.

Решение для Oracle 8.0.5: ставить клиента от Oracle 7.3.4, ставить оракловские утилиты от Oracle 7.3.4. Клиент Oracle 7.3.4 с сервером Oracle 8.0.5 работает. Sqlldr73 - тоже.

На сайте http://oraclub.trecom.tomsk.su Вы найдёте также утилиту db3load, которая готовит CTL-болванки и скрипты для оракловской таблицы.

Владимир Белов (Vladimir Belov)

ato@www.cbr.ru