Загрузка XLS в Oracle

pretoreani
Дата: 13.11.2008 14:39:19
Господа, подскажите какие есть варианты для загрузки множества файлов XLS в таблицу Oracle?
Есть некая папка в которой с некоторой периодичностью появляются несколько XLS файлов с любыми именами - их нужно складировать в таблицу. В принципе устраивает даже serial процесс, главное чтобы он был оптимален - пока что разобрал вариант с загрузкой с помощью VBS скрипта и ODBC - работает неоправданно медленно (порядка 300 строк в секунду, плюс commit слишком часто).
Интересны как технологии так и Proof of concept примеры реализации.
alecsey
Дата: 13.11.2008 14:47:46
найти(или написать) консольный конвертор xls-> csv -> sqlloader
Denis Popov
Дата: 13.11.2008 14:57:41

Может быть стоить поискать по фразе "bulk insert" - какие технологии позволяют быстро вставить
достаточно большое количество записей.

Posted via ActualForum NNTP Server 1.4

pretoreani
Дата: 13.11.2008 19:22:04
Denis Popov

Может быть стоить поискать по фразе "bulk insert" - какие технологии позволяют быстро вставить
достаточно большое количество записей.


Все же хотелось бы конкретики, кто как делал, или кто как сделал бы.
Ну и потом я же еще спрашивал - можно ли как-то ускорить процесс с использованием ADODB.
Разумеется я долго рылся в гугле с запросами типа bulk XLS load и пр.
И я конечно в курсе промышленных ETL средств типа Informatica PC или OWB к которым прикручиваются модули для чтения Office-документов - но пока что
хочется предположить некое решение для разработки "на коленке" без использования таких суровых решений :)

alecsey
найти(или написать) консольный конвертор xls-> csv -> sqlloader


хороший вариант, пока смотрю как раз на него. но в таком виде будет довольно сложно фиксировать и мониторить ошибки\статусы\прогресс
orawish
Дата: 13.11.2008 19:34:10
pretoreani
Denis Popov

Может быть стоить поискать по фразе "bulk insert" - какие технологии позволяют быстро вставить
достаточно большое количество записей.


Все же хотелось бы конкретики, кто как делал, или кто как сделал бы.
Ну и потом я же еще спрашивал - можно ли как-то ускорить процесс с использованием ADODB.
Разумеется я долго рылся в гугле с запросами типа bulk XLS load и пр.
И я конечно в курсе промышленных ETL средств типа Informatica PC или OWB к которым прикручиваются модули для чтения Office-документов - но пока что
хочется предположить некое решение для разработки "на коленке" без использования таких суровых решений :)

ой, ну насмешили, так уж насмешили..
pretoreani

alecsey
найти(или написать) консольный конвертор xls-> csv -> sqlloader


хороший вариант, пока смотрю как раз на него. но в таком виде будет довольно сложно фиксировать и мониторить ошибки\статусы\прогресс

а сложно - не будет как раз у лодера присутствует промышленный подход.
ну и еще. лучше, имхо, не валить всё в одну кучу (грузить так грузить, а проверять так проверять ;)
Denis Popov
Дата: 13.11.2008 19:37:06

pretoreani wrote:

> Разумеется я долго рылся в гугле с запросами типа bulk XLS load и пр.
> И я конечно в курсе промышленных ETL средств типа Informatica PC или OWB
> к которым прикручиваются модули для чтения Office-документов - но пока что
> хочется предположить некое решение для разработки "на коленке" без
> использования таких суровых решений :)

Один вариант уже предложили: конвертировать чем-либо данные из xsl в cvs-формат и грузить через
SQL*Loader. Другой вариант: читать xsl через Java (JDBC или POI) и грузить в БД через bulk insert.

Posted via ActualForum NNTP Server 1.4

pretoreani
Дата: 14.11.2008 13:24:13
orawish

ой, ну насмешили, так уж насмешили..


Возможно вы посещаете форум с целью повеселиться,
однако будьте так добры - отвечайте по делу.
Ваши скептические настроения - не повод разводить флуд в теме.

orawish

а сложно - не будет как раз у лодера присутствует промышленный подход.
ну и еще. лучше, имхо, не валить всё в одну кучу (грузить так грузить, а проверять так проверять ;)


Для меня лоадер не является образцом промышленного подхода.
В этом случае "проверять" - означает контролировать процесс загрузки и фиксировать возникающие ошибки с максимально детальной информацией о причинах их возникновения.
Лучшим вариантом здесь была бы перегрузка картами Informatica с доп. модулем Office который для 7ой версии покупается отдельно (как бы это ни было смешно для вас, но он действительно существует и именно так и называется, но к сожалению ставится только на win server).
Однако сейчас по соображениям НЕтехнического характера требуется построить решение
без использования громоздких и дорогих систем.
pretoreani
Дата: 14.11.2008 13:24:58
Denis Popov

pretoreani wrote:

> Разумеется я долго рылся в гугле с запросами типа bulk XLS load и пр.
> И я конечно в курсе промышленных ETL средств типа Informatica PC или OWB
> к которым прикручиваются модули для чтения Office-документов - но пока что
> хочется предположить некое решение для разработки "на коленке" без
> использования таких суровых решений :)

Один вариант уже предложили: конвертировать чем-либо данные из xsl в cvs-формат и грузить через
SQL*Loader. Другой вариант: читать xsl через Java (JDBC или POI) и грузить в БД через bulk insert.


Спасибо, эта идея мне нравится больше)
Серб! И молод.
Дата: 14.11.2008 13:46:08
pretoreani
однако будьте так добры - отвечайте по делу.
Для меня лоадер не является образцом промышленного подхода.
пионер
terrymoon
Дата: 14.11.2008 14:37:54
автор
Для меня лоадер не является образцом промышленного подхода.

Этож почему?
Просто. Масштабируемо. Родная утилита Oracle.