powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Зависимости java в Oracle DB
25 сообщений из 100, страница 1 из 4
Зависимости java в Oracle DB
    #39498366
PsyDiamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Быть может в верной ветке пишу, кто его знает

В общем: как в вашем Java мире можно установить цепочку зависимостей?
вот допустим у меня есть Apache POI можно какими либо средствами получить цепочку, что в какой последовательности загружать? начиная от корня и заканчивая собственно poi-3.16.jar
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498369
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maven, gradle?
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498403
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PsyDiamond что в какой последовательности загружать?
Куда загружать и почему последовательность вдруг стала важна?
PsyDiamondначиная от корня и заканчивая собственно poi-3.16.jar
От корня чего?
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498427
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
Куда загружать и почему последовательность вдруг стала важна?

Он имеет ввиду Загрузить в базу оракловую...
У него есть такая фича...загрузить java классы и можно вызывать методы из из pl/sq;
Т.е я смогу из оракловой процедуры сразу получить pdf...
Гл чтоб загрузить со всеми зависимостями...это ещё тот головняк.
(именно поэтому я этим не пользуюсь проще автономно на java написать а взаимодействовать через soket например)
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498433
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_al(именно поэтому я этим не пользуюсь проще автономно на java написать а взаимодействовать через soket например)
+1 микросервисы наше всё. Хоть через командную строку.
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498557
PsyDiamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
слова знакомые и хорошие попадаются, но суть пока что не улавливаю

Была вот задача - на основании данных собрать отчет в docx. Было принято решение использовать для решения Apache POI (ибо на чистом pl/sql я готового варианта не нашел, а изучив структуру xml - понял что руками писать будет неоправданно. не потому что сложно, а нужно было сделать гибко)
так вот с горем пополам я развернул в базу, сделал обёртки и всё работает замечательно. Но вот поступит мне задача - "нужно сделать у того клиента вот точно такой же функционал" и снова нетривиальная игра с зависимостями? ну это как то не профессионально что ли.
можно конечно N раз один тот же набор файлов деплоить и тогда всё встанет на свои места.

с этим то ладно, тут всё доволно легко пошло

деплоил я другие пакеты, например "fr.opensagres.xdocreport.converter.docx.xwpf" мало того что - это было сложнее, так и результаты различные обнаружились. Например, написал test под InteliJ Idea, настроенным на Java 1.6 - всё работает корректно, за разумное время, всё получается красиво. Задеплоил я в базу, где тоже 1.6 сидит - выполняется быстро, но pdf получается жутко косячный. Набор jar'ов подкинул один и тот же
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498560
PsyDiamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
irbis_alBlazkowicz,
Куда загружать и почему последовательность вдруг стала важна?

Он имеет ввиду Загрузить в базу оракловую...
У него есть такая фича...загрузить java классы и можно вызывать методы из из pl/sq;
Т.е я смогу из оракловой процедуры сразу получить pdf...
Гл чтоб загрузить со всеми зависимостями...это ещё тот головняк.
(именно поэтому я этим не пользуюсь проще автономно на java написать а взаимодействовать через soket например)

а пример можно, насчет сокетов?
а то для получения pdf пришлось через Runtime.getRuntime().exec(...) вызывать приложение на сервере. blob гонять в файла и обратно в blob
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498564
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498565
PsyDiamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczPsyDiamond,

Что-нибудь вроде этого
https://apexplained.wordpress.com/2016/03/21/utl_http-and-a-multipartform-data-request-body/

а ну можно тогда начать с простого http://www.opencodez.com/oracle/oracle-pl-sql-programming-socket-connection.htm

теперь очень простой вопрос: как обернуть java апликацию в exe? а то запускать напрямую java чего_то_там - это здорово, но exe всё таки привычнее
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498566
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PsyDiamondтеперь очень простой вопрос: как обернуть java апликацию в exe? а то запускать напрямую java чего_то_там - это здорово, но exe всё таки привычнее
какой такой exe? Apache Procrun наше всё.
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498576
PsyDiamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczPsyDiamondтеперь очень простой вопрос: как обернуть java апликацию в exe? а то запускать напрямую java чего_то_там - это здорово, но exe всё таки привычнее
какой такой exe? Apache Procrun наше всё.

вот, то что надо. благодарю :)
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498585
PsyDiamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
но всё таки вопрос у меня остался, как минимум 1
если я нужные jar'ы всей кучей помещу все в один jar задеплою в базу - оно мне поможет?
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498614
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jar внутри jar? Это не будет работать ни в базе, ни за её пределами.
Перособрать кучку jar-ов в один? Вполне возможно, но надо тестировать.
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498642
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PsyDiamondirbis_alBlazkowicz,
пропущено...

Он имеет ввиду Загрузить в базу оракловую...
У него есть такая фича...загрузить java классы и можно вызывать методы из из pl/sq;
Т.е я смогу из оракловой процедуры сразу получить pdf...
Гл чтоб загрузить со всеми зависимостями...это ещё тот головняк.
(именно поэтому я этим не пользуюсь проще автономно на java написать а взаимодействовать через soket например)

а пример можно, насчет сокетов?
а то для получения pdf пришлось через Runtime.getRuntime().exec(...) вызывать приложение на сервере. blob гонять в файла и обратно в blob

В oracle есть такой пакет utl_tcp
https://docs.oracle.com/cd/B28359_01/appdev.111/b28419/u_tcp.htm#CEGDFJJE
он может организовать сокет.
1.В автономном java приложении организуете сокет.(У меня обычно java сервером сокета является)
2.В pl/sql процедуре вызываете utl_tcp...и обычно отправляется некоторые данные(у меня в xml) можно json
3.По этому xml java знает что делать.


Ваш случай ...на сколько я помню POI преобразует html в разные форматы.
1.Подготовили varchar2(Это текстовый оракловый тип(это для тех кто неораклист))
2.Кинули его(html) в сокет.
3.Ваша автономная приложуха сделала с ним что надо и далее либо вернула ораклу(как бинарный поток) либо(попроще) положила в папку...а папка прописана в oracle directory...и вернула в оракле толькр имя файла.ОН(оракле) зная где лежит файл организовывает бинарник(BFILE),Подмножество BLOB и далее работает с ним так же как если бы у Вас получилось все POI jar загрузить в оракле и обернуть их pl/sql процедурой.
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498736
PsyDiamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
irbis_alPsyDiamondпропущено...


а пример можно, насчет сокетов?
а то для получения pdf пришлось через Runtime.getRuntime().exec(...) вызывать приложение на сервере. blob гонять в файла и обратно в blob

В oracle есть такой пакет utl_tcp
https://docs.oracle.com/cd/B28359_01/appdev.111/b28419/u_tcp.htm#CEGDFJJE
он может организовать сокет.
1.В автономном java приложении организуете сокет.(У меня обычно java сервером сокета является)
2.В pl/sql процедуре вызываете utl_tcp...и обычно отправляется некоторые данные(у меня в xml) можно json
3.По этому xml java знает что делать.


Ваш случай ...на сколько я помню POI преобразует html в разные форматы.
1.Подготовили varchar2(Это текстовый оракловый тип(это для тех кто неораклист))
2.Кинули его(html) в сокет.
3.Ваша автономная приложуха сделала с ним что надо и далее либо вернула ораклу(как бинарный поток) либо(попроще) положила в папку...а папка прописана в oracle directory...и вернула в оракле толькр имя файла.ОН(оракле) зная где лежит файл организовывает бинарник(BFILE),Подмножество BLOB и далее работает с ним так же как если бы у Вас получилось все POI jar загрузить в оракле и обернуть их pl/sql процедурой.

первые 2 пункта не ясны немного
насчет docx у меня ситуация такая: я беру шаблон из базы (blob) заполняю его через POI, а затем выдаю обратно blob.
могу я через сокет передать blob в сторону java?
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498747
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PsyDiamondну это как то не профессионально что ли
В базе с java мало кто работает.
Делают рядом с базой утилиту или веб сервер работающий совместно.
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498748
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_al,
Какой сокет, если есть jdbc?
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498753
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123irbis_al,
Какой сокет, если есть jdbc?
В случае jdbc действие инициируется клиентом.
А ему нужно чтоб действие инициировалось ораклом.
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498758
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
первые 2 пункта не ясны немного
насчет docx у меня ситуация такая: я беру шаблон из базы (blob) заполняю его через POI, а затем выдаю обратно blob.
могу я через сокет передать blob в сторону java?

Тогда

1.Взяли blob из базы.
2.Кинули его в сокет(вместе с данными заполнения...я бы рекомендовал xml,,,где blob-шаблон в base64 переведён...но тут сами думайте)....ваша прога обработала его.
2.Альтернативный...есть пакет utl_http...кинули его(blob шаблон с данными) http-requst запросом.
(В этом случае в Вашей проге должно быть embended(встроенный) http сервер типа grizzly ,jetty и т .д )

И эта схема будет работать быстрее(намного быстрее) нежели загруженный jar обёрнутый pl/sql процедурой.
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498761
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_alPetro123irbis_al,
Какой сокет, если есть jdbc?
В случае jdbc действие инициируется клиентом.
А ему нужно чтоб действие инициировалось ораклом.

А вообще в догонку...действительно,если Ваш основной язык java.(я просто думал это не Ваш основной язык(или же основная ИС неявовская) иначе то ,что я ниже перечисляю абсолютно тривиально и прямой путь)
1.Получаете блоб шаблона из базы.
2.Получаете данные из базы.
3.Скармливаете это всё POI получаете документ.
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498764
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_alPetro123irbis_al,
Какой сокет, если есть jdbc?
В случае jdbc действие инициируется клиентом.
А ему нужно чтоб действие инициировалось ораклом.
Он мало что о ЗАДАЧЕ ОТ ПОЛЬЗОВАТЕЛЯ говорил.
Чтобы сервер сам по себе pdf/docx собирал?
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498786
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_al,
Да. Я тоже подумал что он просто новенький java)
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498796
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PsyDiamondслова знакомые и хорошие попадаются, но суть пока что не улавливаю

Была вот задача - на основании данных собрать отчет в docx. Было принято решение использовать для решения Apache POI (ибо на чистом pl/sql я готового варианта не нашел, а изучив структуру xml - понял что руками писать будет неоправданно. не потому что сложно, а нужно было сделать гибко)
так вот с горем пополам я развернул в базу, сделал обёртки и всё работает замечательно. Но вот поступит мне задача - "нужно сделать у того клиента вот точно такой же функционал" и снова нетривиальная игра с зависимостями? ну это как то не профессионально что ли.
можно конечно N раз один тот же набор файлов деплоить и тогда всё встанет на свои места.

с этим то ладно, тут всё доволно легко пошло

деплоил я другие пакеты, например "fr.opensagres.xdocreport.converter.docx.xwpf" мало того что - это было сложнее, так и результаты различные обнаружились. Например, написал test под InteliJ Idea, настроенным на Java 1.6 - всё работает корректно, за разумное время, всё получается красиво. Задеплоил я в базу, где тоже 1.6 сидит - выполняется быстро, но pdf получается жутко косячный. Набор jar'ов подкинул один и тот же

Зачем изобретать велосипед?!
"Все украдено до нас" (с) Операция Ы
Существует куча построителей отчетов, которые могут импортировать отчет практически в любой формат.
Например в мире Java пользуется определенной популярностью JasperReport.
Если не использовать JasperServer, то вещь бесплатная.
Для создание отчетов есть JasperStudio. По мне вещь не очень удобная, но работать можно.

Есть и другие построители отчетов, в т.ч. и у Oracle что-то есть свое, правда платное.
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498833
PsyDiamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123irbis_alпропущено...

В случае jdbc действие инициируется клиентом.
А ему нужно чтоб действие инициировалось ораклом.
Он мало что о ЗАДАЧЕ ОТ ПОЛЬЗОВАТЕЛЯ говорил.
Чтобы сервер сам по себе pdf/docx собирал?

да, в мире Java я крайне зелен.

вообщем есть клиент написанный то ли на Delphi, то ли на C++ Builder; далее есть база Oracle
так вот. Клиент делает вызов а-ля "Вот тебе идентификаторы отмеченных записей - собери мне отчет и отдай blob"

так что выжеизложенный способ с сокетами буду рассматиривать. Пока что собственно задача не совсем понятная: как определить какого объема blob принимать на стороне java

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Socket socket = listener.accept();
InputStream in = socket.getInputStream();
byte [] mybytearray  = new byte [FILE_SIZE];
                    int bytesRead = in.read(mybytearray, 0, mybytearray.length);
                    int current = bytesRead;

                    do {
                        bytesRead =
                                in.read(mybytearray, current, (mybytearray.length-current));
                        if(bytesRead >= 0) current += bytesRead;
                    } while(bytesRead > -1);
socket.close();



Код: plsql
1.
2.
3.
4.
5.
6.
WHILE offset_ < Dbms_Lob.GetLength(bTemplate) LOOP
        Dbms_Lob.Read (bTemplate, chunk_size_, offset_, file_chunk_);
        b := utl_tcp.WRITE_RAW(CONN, utl_encode.base64_encode(file_chunk_));
        offset_ := offset_ + chunk_size_;
    END LOOP;
 UTL_TCP.FLUSH(CONN);



в первом приближении как то так
...
Рейтинг: 0 / 0
Зависимости java в Oracle DB
    #39498840
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PsyDiamond,

FILE_SIZE Это константа...
Любая пусть будет 1024
По Вашему алгоритму пока не закончился блоп из базы читать в буфер 1024 байт и прибавлять этот маленький кусочек к большому куску(исходному явовскому blob)
...
Рейтинг: 0 / 0
25 сообщений из 100, страница 1 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Зависимости java в Oracle DB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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