
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
30.03.2013, 10:52:17
|
|||
|---|---|---|---|
JAVA call Oracle procedure |
|||
|
#18+
Всем добрый день! Есть партнерское API - оно представляет из себя Пакет функций в оракле , каждая функция возвращает данные в виде XML вопрос какие инструменты есть в java чтобы эффективно работать с этим пакетом? Что нужно : используя функции пакета организовать GUI интерфейс (веб) . В интерфейсе можно по средствам процедур создавать объекты предметной области. Для простоты пусть есть таблица customers для нее описан пакет функций получить все записи, найти по id, добавить, удалить, редактировать, создать копию... Обычно всегда получал курсов или сам писал нужные мне запросы, а тут уже готовое API !? как можно из xml данных положить их сразу в POJO или ENTITY отображение ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.03.2013, 13:24:55
|
|||
|---|---|---|---|
|
|||
JAVA call Oracle procedure |
|||
|
#18+
как можно из xml данных положить их сразу в POJO или ENTITY отображение ? JAXB, Castor позволяет это делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.03.2013, 14:49:59
|
|||
|---|---|---|---|
|
|||
JAVA call Oracle procedure |
|||
|
#18+
вопрос про использование апи мне не понятен. Какие проблемы в вызове готовых методов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.03.2013, 12:46:22
|
|||
|---|---|---|---|
JAVA call Oracle procedure |
|||
|
#18+
Alex Serezhenko, Как вызвать процедуру из java я примерно понимаю. А вот когда она возвращает не курсор а портянку xml у меня возникает вопрос производительности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.03.2013, 12:55:20
|
|||
|---|---|---|---|
JAVA call Oracle procedure |
|||
|
#18+
Atum1, Jdbc, spring tools for jdbc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.03.2013, 14:38:44
|
|||
|---|---|---|---|
JAVA call Oracle procedure |
|||
|
#18+
Atum1, Ну дак меняй xml на орм и не будет вопросов по прозводительости. У тебя хмл заменяет объекты из бд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.03.2013, 22:31:45
|
|||
|---|---|---|---|
JAVA call Oracle procedure |
|||
|
#18+
Petro123, В принципе на любом бине помеченном как entity можно добавить аннотации в стиле rootxlmelement и jaxb с его маршалингом и демаршалингом практически не будет отличаться от класической схемы с em.persist итд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.03.2013, 23:10:35
|
|||
|---|---|---|---|
JAVA call Oracle procedure |
|||
|
#18+
Atum1, ну дак тыж говорил про портянку XML? Грань между оверхедом и чтобы работало - очень тонкая. Надо знать детали....формат XML и т.д. Курсор XXXSet или ОРМ это далеко не портянка XML. Всё равно ведь тестировать - делай тест и проверяй тормоза. По крайней мере, DataSet умеет подкачивать и кешировать. А XML АПИ, пока не сгенерирует весь файл - тебе его не отдаст. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.04.2013, 13:35:03
|
|||
|---|---|---|---|
JAVA call Oracle procedure |
|||
|
#18+
Сегодня получил описание API - оказалось что это пакет оракл с набором именно Функций! описанных в виде классификаторов для разных типов . Код: xml 1. 2. а так же позволяющий работать с employee - получить employee по id, gjkexbnm list employee , поменять значение employee итд. Реализован полный API для работы с классом employee (CRUD) Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. почитал документацию , посмотрел примеры, но из java так и не получилось добавить нового employee , удалить, изменить его и получить весь список. вопрос ко всем , кто сталкивался с таким типом , как с ним работать ? пакет оформлен как сервис oracle : EMPLOYEE_PACKAGE.EMPLOYEE_LIST Как я понимаю нужен некоторый код который вернет мне что то типа XMLTYPE! Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Проблема в том что объект OracleResultSet rs - это не ResultSet , это OracleResultSetImpl - а точнее объект XMLTYPE, поэтому него я не могу получить rs.next() - его там просто нет?! или такая схема работы в корне неверная и надо делать как то по другому ... вопрос как? так же хотелось бы делать эти вызовы не через connection.prepareCall - а через EntityManager у меня есть уровень бизнес логики реализованной на EJB ! поэтому вопрос , как такой пакет функций дергать из EntityManager 'а ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.04.2013, 18:19:39
|
|||
|---|---|---|---|
JAVA call Oracle procedure |
|||
|
#18+
Atum1, www.oracle.su/docs/11g/appdev.112/e10492/xdb11jav.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.04.2013, 09:52:21
|
|||
|---|---|---|---|
JAVA call Oracle procedure |
|||
|
#18+
Petro123Atum1, www.oracle.su/docs/11g/appdev.112/e10492/xdb11jav.htm так как описано у меня вызвать не получается :( Код: java 1. 2. 3. 4. 5. 6. stmt.getOPAQUE(1) - РАВНО null т.е. проблема в том что я не понимаю или не могу получить значение ни от stmt ни от ResultSet . если rs.next()- исполняется, то вот первого элемента в нем нет !? rs.getString(1) - это всегда null возвращается мне OracleResultSet rs = (OracleResultSet) stmt.getResultSet(); точнее OracleResultSetImpl через Код: java 1. эффект такой же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.04.2013, 12:28:59
|
|||
|---|---|---|---|
|
|||
JAVA call Oracle procedure |
|||
|
#18+
Atum1 stmt.getOPAQUE(1) - РАВНО null Функция точно что-то возвращает, если ее вызвать в sqlplus? Код: plsql 1. Еще - какой версии jdbc-драйвер? Попробуй заменить функцию своей, для проверки: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.04.2013, 12:29:13
|
|||
|---|---|---|---|
JAVA call Oracle procedure |
|||
|
#18+
Atum1, я бы на твоём месте: - проверил версии библиотек и убедился что они - полследние. Т.к. такой API на XML надо ещё выдумать) - написал вот такой пример один в один вместе с тестовой хранимкой (чтобы результат запроса БД точно выдавала) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.04.2013, 09:29:44
|
|||
|---|---|---|---|
JAVA call Oracle procedure |
|||
|
#18+
Библиотеки с сайта oracle.com ojdbc6_g.jar xdb6.jar Самое странно во всем это вот что : в sqldeveloper 'e - когда я вызываю эти функции - то я получаю результат . Код: plsql 1. в ответ я получаю то что должен : Код: plsql 1. в вот создать свою функцию я еще не пробовал. при этом из кода этот же ответ я получить не могу , точнее получаю OracleResultSetImpl по вот как вытащить из него результат , мне не понятно. Тем более, мне бы хотелось сразу получить ответ в виде объектов , чтобы использовать из в своей модели . Второй вопрос , который у меня возник сегодня - это как работать из EntityManager'a с таблицами оракл , если в именах таблиц есть символ # EMPLOYEE_TABLES.T$EMPLOYEE#TYPES имя таблицы в которой хранятся типы EMPLOYEE_LIST_TYPES при попытки вызвать nativequery - Код: java 1. 2. 3. в строке q.getResultList() я получаю ошибку времени исполнения - т.к. символ # используется для определения параметра для запроса . Как быть ? самое быстрое решение мне видится в том что можно как то получить от getEntityManager() - обычный connection - и дальше уже использовать его ? или можно как то экранировать # в именах таблиц !? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.04.2013, 10:28:18
|
|||
|---|---|---|---|
JAVA call Oracle procedure |
|||
|
#18+
Atum1в вот создать свою функцию я еще не пробовал. -попробуй 2. я так понял доступ к БД есть, значит там можно сделать синонимы таблиц и экранировать # ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.04.2013, 23:13:08
|
|||
|---|---|---|---|
JAVA call Oracle procedure |
|||
|
#18+
Petro123Atum1в вот создать свою функцию я еще не пробовал. -попробуй 2. я так понял доступ к БД есть, значит там можно сделать синонимы таблиц и экранировать # DDL команды не доступны , только DML ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2129581]: |
0ms |
get settings: |
19ms |
get forum list: |
21ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
70ms |
get topic data: |
24ms |
get forum data: |
6ms |
get page messages: |
91ms |
get tp. blocked users: |
2ms |
| others: | 304ms |
| total: | 549ms |

| 0 / 0 |
