|
|
|
ORACLE: вернуть CLOB из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
есть хранимая процедура, которая строит XMLDocument. как его преобразоватьв CLOB и вернуть в outXML[0] ? Код: plaintext 1. 2. 3. 4. 5. -- Название темы поменял я ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2005, 10:55 |
|
||
|
ORACLE: вернуть CLOB из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
А он (XMLDocument) в byte[], char[] или в String не преобразуется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2005, 11:13 |
|
||
|
ORACLE: вернуть CLOB из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
_AndreyPесть хранимая процедура, которая строит XMLDocument. как его преобразоватьв CLOB и вернуть в outXML[0] ? Код: plaintext 1. 2. 3. 4. 5. -- Название темы поменял я // если я правильно понял 1) XMLDocument -> Stream 2) CLOB clob = CLOB.createTemporary() 3) писать в clob из стрима в п.1 4) вернуть clob только я не понимаю зачем это нужно :-) можете расказать подробнее, что требуется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2005, 11:45 |
|
||
|
ORACLE: вернуть CLOB из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. 39. 40. сделал вот таим образом возврат CLOB. CLOB возвращается и используется дальше java клиентом подскажите, это корректный способ ? может чего забыл закрыть, освободить ресурсы? outXML[0] = oracle.sql.CLOB.createTemporary(connection, false, oracle.sql.CLOB.DURATION_SESSION); outXML[0].open(CLOB.MODE_READWRITE); Writer w = outXML[0].getCharacterOutputStream(); PrintWriter pw = new PrintWriter(w); xmldoc.print(pw); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 07:43 |
|
||
|
ORACLE: вернуть CLOB из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
нужно ли закрывать: w.close(); pw.close(); и очень интересует , почему мне понадобилось делать Код: plaintext 1. почему нельзя делать сразу Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 08:15 |
|
||
|
ORACLE: вернуть CLOB из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
_AndreyP Код: plaintext 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. 39. 40. сделал вот таим образом возврат CLOB. CLOB возвращается и используется дальше java клиентом подскажите, это корректный способ ? может чего забыл закрыть, освободить ресурсы? не знаю. вроде правильно, только потоки лучше закрывать. Код: plaintext 1. Код: plaintext 1. - вылетит с NullPointerException. вопрос остался: Зачем так извращаться? :-) Использование хранимых ява-процедур в данном случае нецелесообразно. Расскажите, чего вы хотите добиться в конечном итоге? Oracle изначально имеет очень хорошие возможности по работе с XML (конечно, если есть XML DB ), и я думаю, что: 1) вам бы их хватило // и еще осталось 2) использование стандартных возможностей БД предпочтительней: админы будут меньше пинать, удобнее поддержка, и т.д. если вам не хватает (либо отсутствуют) и этих функций, то реализовывать подобную логику лучше на middle-tier. PS. Вот еще тынц FAQ на доку по LOB'ам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 10:59 |
|
||
|
ORACLE: вернуть CLOB из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
спасибо за ответы. Timm вопрос остался: Зачем так извращаться? :-) Использование хранимых ява-процедур в данном случае нецелесообразно. Расскажите, чего вы хотите добиться в конечном итоге? хех... попробую описать . приложение - "редактор учебных курсов". пишется на java. задачи "редактора" - создание, редактирование электронного учебника. (заголовок, главы, лекции, задачи и вопросы для контроля) редактор формирует некий учебник в виде XML-документа. и сохраняет его в БД - просто передает этот XML-документ на сервер, а сервер должен разобрать этот документ и раскидать данные по табличкам. табличек может учавствовать несколько. "редактор" - не хочет передавать данные в "обычном" виде. а хочет именно в виде XML. И получать он их хочет так же только в виде XML. затем парсит и отображает во всяких swing-компонентах с возможностью редактирования. соответственно сервер должен сформировать XML и отдать его "редактору". в общем разговор получается "редактора" с "сервером" на XML. первое, что пришло на ум через - CLOB, просто потому, что не работал с XML DB. почитаю на выходных. попробую понять , что это такое. возможностей PL/SQL мне показалось не достаточно. возможно потому, что в хелпе (у меня по 10g) Oracle® XML Developer's Kit Programmer's Guide 10g Release 1 (10.1) из 24 глав, XSU for PL/SQL отведена только одна. остальной упор на java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 11:50 |
|
||
|
ORACLE: вернуть CLOB из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
ок. если хотите кидать туда-сюда xml-ки, в которых хранится инфа о "чем-то", то зачем это что-то преобразовывать каждый раз? как вариант, храните инфу (или хотя бы ее часть, например, задачи/ответы) сразу в clob'ах в виде xml. возможно, будет лучше юзать возможности апп. сервера, либо без возможностей бд, либо с ними... в общем, подумайте лучше, чего вы хотите добиться - уверен, что найдутся варианты оптимальнее текущего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 12:32 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=773&tid=2151115]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 207ms |
| total: | 342ms |

| 0 / 0 |
