|
xlsx to oracle db
|
|||
---|---|---|---|
#18+
Добрый день. Подскажите, как можно реализовать задачку: Есть xlsx с набором полей (client, amount) который лежит на сетевом диске, необходимо сделать так, чтоб этот файлик заливался сам в табличку ( select client, amount from client_base) базы данных (oracle) по некому расписанию. На данный момент человек сам каждое утро заливает эксельку через odbc importer pl/sql developer. Спасибо всем откликнувшимся. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 12:06 |
|
xlsx to oracle db
|
|||
---|---|---|---|
#18+
1. Напрашивается поменять формат на более простой, например, CSV, XML. 2. Если формат задан и меняться не может, загружаем любой софтиной, знающей этот формат. Если нужна готовая библиотека, рекомендую POI. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 14:31 |
|
xlsx to oracle db
|
|||
---|---|---|---|
#18+
p0tap, экспортировать в CSV чем угодно (не проверял, но подозреваю, что сейчас уже стандартный powershell сможет), CSV загрузить SQL*Loader-ом. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 15:23 |
|
xlsx to oracle db
|
|||
---|---|---|---|
#18+
p0tap, xlsx - это формат обмена с внешним источником? Я как раз похожую задачу решал в этом месяце, через внешнюю таблицу для импорта миллиона строк. - перевести в csv формат, UTF-8 или другой, совместимый с вашим текстом - скопировать на локальный диск, Оракл (под виндой) по сети сам не ходит - оформить внешнюю таблицу, примеры здесь: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sutil/examples-using-oracle-external-tables.html - если нужны скорость и/или индексация, сделать materialized view с этой таблицы Скорость такого импорта у меня на порядок выше чем импорт с клиента. Кроме CSV, Оракл умеет парсить другие разделители, в том числе многосимвольные; также парсит поля фиксированного размера. Если в полях могут быть запятая и кавычки, выберите особый разделительный символ/строку не встречающиеся в тексте, будет меньше хлопот с парсером. Также, посмотрите на задачу в целом - может, она начинается не с xlsx на сетевом диске, а с секретарши вбивающей данные, или даже раньше, с приходящих имейлов? Тогда решение может быть еще эффективнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 15:27 |
|
xlsx to oracle db
|
|||
---|---|---|---|
#18+
кит северных морей .. CSV загрузить SQL*Loader-ом. Я видел название встроенного парсера 'ORACLE_LOADER' когда конфигурировал внешние таблицы для похожих задач. Это то же самое, или SQL*Loader это что-то другое? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 17:02 |
|
xlsx to oracle db
|
|||
---|---|---|---|
#18+
НеофитSQL кит северных морей .. CSV загрузить SQL*Loader-ом. Я видел название встроенного парсера 'ORACLE_LOADER' когда конфигурировал внешние таблицы для похожих задач. Это то же самое, или SQL*Loader это что-то другое? SQL*Loader - это клиентское приложение для загрузки данных в Oracle, у него под капотом аналогичный парсер (он изначально делался именно под него, и впоследствии был использован во внешних таблицах). Oracle рассматривает его как legacy, и рекомендует переводить всё на внешние таблицы, но всех задач они не решают - например, загрузки напрямую с клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 17:44 |
|
xlsx to oracle db
|
|||
---|---|---|---|
#18+
кит северных морей, спасибо, нашел к нему документацию тут: https://docs.oracle.com/cd/E11882_01/server.112/e22490/part_ldr.htm Это отдельная утилита которую как я понял можно запускать с другого компьютера (отличного от сервера Оракла). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 19:30 |
|
xlsx to oracle db
|
|||
---|---|---|---|
#18+
Во внешних таблицах есть параметры настройки, в т.ч. возможность предварительного запуска внешних программ для конвертации в необходимый формат. Т.е., если всё правильно настроить, конвертор будет запускаться самим Ораклом с последующим всасыванием данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 23:43 |
|
xlsx to oracle db
|
|||
---|---|---|---|
#18+
Спасибо всем! Буду изучать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2020, 11:55 |
|
xlsx to oracle db
|
|||
---|---|---|---|
#18+
Привет. easy-xlsx-parser - пакет для разбора Excel-файлов. Разработан для Апекса, но есть возможность просто загружать в BLOB и парсить. Посмотреть последние версии пакета, т.к. в моей версии были баги с парсингом дат и если есть внутри-ячеечное форматирование. Файл должен лежать на доступном для оракла диске. У меня линух, так что просто смаунтил сетевую шару. А в 18 апексе есть уже стандартный пакет apex_data_parser Принцип тот же самый. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2020, 09:46 |
|
xlsx to oracle db
|
|||
---|---|---|---|
#18+
В подобной ситуации писал модуль на джаве. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2020, 19:12 |
|
|
start [/forum/topic.php?fid=52&msg=40004989&tid=1880838]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 133ms |
0 / 0 |