Использование Oracle SQL*Loader для загрузки данных в таблицы
Данный минифак не претендует на полноту отражения всех особенностей работы с SQL*Loader, а служит для того, чтобы быстро войти в темуSQL*Loader — специальная утилита Oracle сервера для загрузки данных в БД из локальных файлов с данными. Для того чтобы воспользоваться ее функционалом создадим несколько файлов, которые будем использлвать в работе, и положим их в папку C:\oracle\ora90\BIN\load (в общем случае):
- data.dat или data.txt — собственно файл с данными. Пусть он будет представлять строки данных разделенных сиволом перевода строки.
- load.ctl — контрольный файл — содержит инструкции по загрузке данных в БД, в нашем случае будет иметь вид:
LOAD DATA -- Загружаем данные INFILE 'data.txt' "str '\n'" -- из файла data.txt, разделитель строк str '\n' - символ перевода строки INTO TABLE load_data -- в таблицу load_data FIELDS terminated BY ',' OPTIONALLY ENCLOSED BY '"' (DATA char) -- название столбца и тип данных в таблице load_data
- load.bat — пакетный файл (англ. batch file) выполняющий запуск sqlldr.exe имеет вид:
SET nls_lang=russian_cis.ru8pc866 -- устанавливаем нужную кодировку sqlldr.exe userid=user_name/user_pass@test control=LOAD.ctl errors=100 bad=DATA.bad -- test — строка связи*, load.ctl — контрольный файл, data.bad — файл плохих записей
- Далее находим нашу папку C:\oracle\ora90\BIN\load, находим файл load.bat, запускаем его и любуемся на результат:
SELECT * FROM load_data;
- Шаг 135 – БД Oracle – Загрузка данных SQL*Loader
- Справочник по контрольным файлам для SQL*Loader (SQL*Loader Control File Reference)
- Часто задаваемые вопросы по SQL*Loader (SQL*Loader FAQ)
Интересно, что при сохранении *.xslx в «.csv с разделителем запятой» разделителем на самом деле становится точка с запятой.
Этот комментарий был удален автором.
ОтветитьУдалить