powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Задачка под Oracle. Редактор формул.
12 сообщений из 12, страница 1 из 1
Задачка под Oracle. Редактор формул.
    #33850111
Я разработчик на PL/SQL, java практически не знаю, не подскажете как решить следующую задачку?

На сервере Oracle в табличке хранятся строки, содержащие java-код. Например такая:
Код: plaintext
1.
    X[ 0 ]=A+B;
    Y[ 0 ]=A-B;
или такая:
Код: plaintext
1.
2.
3.
4.
   public   static   void  test( int  A,  int  B,  int [] X,  int [] Y )
  {
    X[ 0 ]=A+B;
    Y[ 0 ]=A-B;
  } 
не важно - как удобнее, так и будем хранить. Возможно имеет смысл рядом с этой строчкой хранить бинарный код, в этом случае надо уметь его получать из исходника на клиенте или лучше на сервере. Там же рядом хранятся описания параметров и значения для входящих параметров.

Со стороны Oracle сервера нужно уметь вызывать "что-то", передавать этому "чему-то" строку с исходником или откомпилированым кодом, значения IN параметров и получать значения OUT параметров.

Например, для указаной выше строки, передавая строку и параметры A=1 и B=1 нужно получить X=2 и Y=0;

Не подскажете где копать, какие технологии использовать в этой задачке?
...
Рейтинг: 0 / 0
Задачка под Oracle. Редактор формул.
    #33850155
mansch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
create or replace function JavaRegexp( pattern in varchar2, value in varchar2)  return  number
as language java name 'mtu.util.Regexp.match(java.lang.String, java.lang.String) return int';
обернуть как java stored procedure
...
Рейтинг: 0 / 0
Задачка под Oracle. Редактор формул.
    #33850250
Поясню суть приложения - имеется некоторый набор формул написаных на jave, редактируемый пользователями и хранимый в таблицах. Сервер должен уметь осуществлять пересчет данных по этим пользовательским формулам.

mansch, не поясните чуть-чуть поподробнее?
...
Рейтинг: 0 / 0
Задачка под Oracle. Редактор формул.
    #33850358
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. вы хотите под Ораклом гонять динамическую интерпретацию кода на Java?

======================
- Я подхожу к клетке с медведем панда...
Видите, какие у него черные круги под глазами?!
Медведь панда как бы всем своим видом говорит нам: "Не бухайте!"
======================
...
Рейтинг: 0 / 0
Задачка под Oracle. Редактор формул.
    #33850384
Кувалдин РоманТ.е. вы хотите под Ораклом гонять динамическую интерпретацию кода на Java?

======================
- Я подхожу к клетке с медведем панда...
Видите, какие у него черные круги под глазами?!
Медведь панда как бы всем своим видом говорит нам: "Не бухайте!"
======================Если это возможно. Если нет - буду гонять динамический PL/SQL. Но java - предпочтительнее.
...
Рейтинг: 0 / 0
Задачка под Oracle. Редактор формул.
    #33850444
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. храните код в в клобе и откомпилированный в блобе.
(я так понимаю, у вас статические ява-функции) берете на лету генерите класс (как его назовете - не суть важно, главно чтобы код ява метода был где то в классе), его компилите. видимо на клиенте. закидывает в блоб.
2. пишите Java Stored Procedure, которой на вход приходит нек-ый ид процедуры + какие то параметры. Лоадите из блоба класс, через рефлекшн дергаете метод. Получаете результат.
но работать все это будет очч не быстро. PL быстрее.

можно конечно и для каждой функции генерить свою Java Stored Procedure + обертку на PL/SQL, но я бы не стал так делать.

что почитать:
Java Stored Procedures Developer's Guide
JDBC Developer's Guide
Java Reflection in Action

читать все разумеется не стоит.
+ что то обязательно по основам надо...
эта книжка хорошая.
...
Рейтинг: 0 / 0
Задачка под Oracle. Редактор формул.
    #33850547
Timm, спасибо! Сел читать про reflections :)

Timmно работать все это будет очч не быстро. PL быстрее.PL/SQL и быстрее и проще :) Это я понимаю, просто со временем приложение скорее всего прийдется переносить на MSSQL и, возможно, на другие платформы поэтому pl/sql не подходит, а с java вопрос с портацией, как мне кажется, решится.

В качестве скриптового языка еще возможно кандитатуру VBA можно рассмотреть ну да это офтоп.
...
Рейтинг: 0 / 0
Задачка под Oracle. Редактор формул.
    #33850700
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр С.К.Timm, спасибо! Сел читать про reflections :)

Timmно работать все это будет очч не быстро. PL быстрее.PL/SQL и быстрее и проще :) Это я понимаю, просто со временем приложение скорее всего прийдется переносить на MSSQL и, возможно, на другие платформы поэтому pl/sql не подходит, а с java вопрос с портацией, как мне кажется, решится.

В качестве скриптового языка еще возможно кандитатуру VBA можно рассмотреть ну да это офтоп.
если будет порт на MS SQL, я бы предложил другой вариант, тем более что Java Stored Procedures и PL/SQL при портировании, насколько я знаю, обломаются одинаково.
То что вам нужно напоминает workflow engine. Посмотрите демку и возможности jBPM.
...
Рейтинг: 0 / 0
Задачка под Oracle. Редактор формул.
    #33850980
TimmТо что вам нужно напоминает workflow engine. Посмотрите демку и возможности jBPM.Посмотрел, нет, я делаю немного другое - имитационные модели.
...
Рейтинг: 0 / 0
Задачка под Oracle. Редактор формул.
    #33851155
Timmтем более что Java Stored Procedures и PL/SQL при портировании, насколько я знаю, обломаются одинаковоpl/sql при портировании обламывется "фатальнее" - на mssql (или любом другом сервере) просто не будет никакого движка на котором можно было бы гонять pl/sql, ибо оракла там рядом не будет. Вызов же java классов из MSSQL (или с других серверов) в принципе (как мне кажется) решается, т.е. принципиальная возможность для порта сохранится. Только реализован он будет, разумеется, не через Java Stored Procedures а как-то по другому.

Другими словами, при реализации формул через pl/sql мне прийдется менять скриптовый язык при портировании приложения на другой сервер, а при реализации через java скриптовый язык скорее всего удасться сохранить.

Ну и насколько я понимаю, в случае реализации скриптового языка на VBA останется ограничение на ОС - Windows, ну да это офтоп.
...
Рейтинг: 0 / 0
Задачка под Oracle. Редактор формул.
    #33851387
vndovr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати в jBPM возможно, отчасти есть то что вам нужно - он в себя включает scripting framework - http://www.beanshell.org/, который посзволяет выполнять java-код. В вашем случае его, судя по задаче, можно использовать.
...
Рейтинг: 0 / 0
Задачка под Oracle. Редактор формул.
    #33851579
vndovrКстати в jBPM возможно, отчасти есть то что вам нужно - он в себя включает scripting framework - http://www.beanshell.org/, который посзволяет выполнять java-код. В вашем случае его, судя по задаче, можно использовать.Почитал - на первый взгляд это именно то, что мне нужно, спасибо!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Задачка под Oracle. Редактор формул.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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