Довольно часто встречается задача по загрузке данных из 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тыс. строк
Один из способов загрузки - использование пакета 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тыс. строк
Комментариев нет:
Отправить комментарий