powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / xlsx to oracle db
13 сообщений из 13, страница 1 из 1
xlsx to oracle db
    #40003290
p0tap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Подскажите, как можно реализовать задачку:

Есть xlsx с набором полей (client, amount) который лежит на сетевом диске, необходимо сделать так, чтоб этот файлик заливался сам в табличку ( select client, amount from client_base) базы данных (oracle) по некому расписанию.

На данный момент человек сам каждое утро заливает эксельку через odbc importer pl/sql developer.

Спасибо всем откликнувшимся.
...
Рейтинг: 0 / 0
xlsx to oracle db
    #40003422
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Напрашивается поменять формат на более простой, например, CSV, XML.
2. Если формат задан и меняться не может, загружаем любой софтиной, знающей этот формат. Если нужна готовая библиотека, рекомендую POI.
...
Рейтинг: 0 / 0
xlsx to oracle db
    #40003427
Maxim Demenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я когда-то вот этим загружал
https://www.sql-workbench.eu/manual/command-import.html

Regards

Maxim
...
Рейтинг: 0 / 0
xlsx to oracle db
    #40003462
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p0tap,

экспортировать в CSV чем угодно (не проверял, но подозреваю, что сейчас уже стандартный powershell сможет), CSV загрузить SQL*Loader-ом.
...
Рейтинг: 0 / 0
xlsx to oracle db
    #40003466
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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 на сетевом диске, а с секретарши вбивающей данные, или даже раньше, с приходящих имейлов? Тогда решение может быть еще эффективнее.
...
Рейтинг: 0 / 0
xlsx to oracle db
    #40003553
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кит северных морей

.. CSV загрузить SQL*Loader-ом.


Я видел название встроенного парсера 'ORACLE_LOADER' когда конфигурировал внешние таблицы для похожих задач.
Это то же самое, или SQL*Loader это что-то другое?
...
Рейтинг: 0 / 0
xlsx to oracle db
    #40003585
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQL
кит северных морей

.. CSV загрузить SQL*Loader-ом.


Я видел название встроенного парсера 'ORACLE_LOADER' когда конфигурировал внешние таблицы для похожих задач.
Это то же самое, или SQL*Loader это что-то другое?

SQL*Loader - это клиентское приложение для загрузки данных в Oracle, у него под капотом аналогичный парсер (он изначально делался именно под него, и впоследствии был использован во внешних таблицах). Oracle рассматривает его как legacy, и рекомендует переводить всё на внешние таблицы, но всех задач они не решают - например, загрузки напрямую с клиента.
...
Рейтинг: 0 / 0
xlsx to oracle db
    #40003641
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кит северных морей,

спасибо, нашел к нему документацию тут: https://docs.oracle.com/cd/E11882_01/server.112/e22490/part_ldr.htm

Это отдельная утилита которую как я понял можно запускать с другого компьютера (отличного от сервера Оракла).
...
Рейтинг: 0 / 0
xlsx to oracle db
    #40003709
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во внешних таблицах есть параметры настройки, в т.ч. возможность предварительного запуска внешних программ для конвертации в необходимый формат.
Т.е., если всё правильно настроить, конвертор будет запускаться самим Ораклом с последующим всасыванием данных.
...
Рейтинг: 0 / 0
xlsx to oracle db
    #40003889
p0tap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем! Буду изучать.
...
Рейтинг: 0 / 0
xlsx to oracle db
    #40004775
Sah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.
easy-xlsx-parser - пакет для разбора Excel-файлов.
Разработан для Апекса, но есть возможность просто загружать в BLOB и парсить. Посмотреть последние версии пакета, т.к. в моей версии были баги с парсингом дат и если есть внутри-ячеечное форматирование.

Файл должен лежать на доступном для оракла диске. У меня линух, так что просто смаунтил сетевую шару.

А в 18 апексе есть уже стандартный пакет
apex_data_parser

Принцип тот же самый.
...
Рейтинг: 0 / 0
xlsx to oracle db
    #40004989
Synoptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В подобной ситуации писал модуль на джаве.
...
Рейтинг: 0 / 0
xlsx to oracle db
    #40005010
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а можно вобще не загружать, а просто прикрутить к оракулу как внешнюю таблицу и обновлять файл по расписанию.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / xlsx to oracle db
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]