среда, 10 декабря 2014 г.

Загрузка данных в формате CSV в таблицу Oracle

   Довольно часто встречается задача по загрузке данных из Excel в таблицы Oracle.  Если это разовая задача, то самый простой и быстрый способ загрузки - это SQL Loader.  Если же загрузку нужно производить через интерфейс вашего клиента, понадобится другой подход.

  Один из способов загрузки - использование пакета HTMLDB_TOOLS by Vikas

Обсуждение на Oracle.com
Пакет HTMLDB_TOOLS by Vikas

   Первым делом сохраняем путь к нашему CSV-файлу в переменную MY_FILENAME. Затем нужно дважды запустить процедуру htmldb_tools.parse_file. Первый раз запускаем без параметра "p_table_name"

htmldb_tools.parse_file(:MY_FILENAME,'MY_COLLECTION','MY_HEADINGS','MY_COLUMNS','MY_DDL');

В этом прогоне выполняются операции:

1.  Содержимое CSV-файла сохраняется в поле BLOB
2.  Выполняется конвертация BLOB -> массив varchar2
3. Создается коллекция
4. Коллекция заполняется из массива varchar2


  Затем выполняем второй запуск той же процедуры (обратите внимание на параметры):

htmldb_tools.parse_file(:MY_FILENAME,'MY_COLLECTION','MY_HEADINGS','MY_COLUMNS','MY_DDL','MYTABLE');

Т.е. добавился параметр - название таблицы для загрузки данных, MYTABLE. В этом прогоне выполняется вставка данных из коллекции в таблицу.

Этот метод загрузки показывал неплохие результаты при загрузки данных до 100тыс. строк


Комментариев нет:

Отправить комментарий