Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
DBMS_OUTPUT
|
|||
|---|---|---|---|
|
#18+
Привет, Есть-ли какая-нибудь возможность получать оутпут из DBMS_OUTPUT используя .Net provider? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2011, 15:29 |
|
||
|
DBMS_OUTPUT
|
|||
|---|---|---|---|
|
#18+
Bart, Здравствуйте. Вроде должна быть. DBMS_OUTPUT.GET_LINES и получить строки в output параметр типа array: IBM Data Server Provider for .NET has been enhanced ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2011, 15:53 |
|
||
|
DBMS_OUTPUT
|
|||
|---|---|---|---|
|
#18+
Используя примеры процедур из твоей ссылки и вызвав процедуру на выполнение используя CLP Я увижу следующее: db2 => SET SERVEROUTPUT ON DB20000I The SET SERVEROUTPUT command completed successfully. db2 => CALL proc2 Return Status = 0 PROC1 put this line in the message buffer. PROC1 put this line in the message buffer. PROC2 put this line in the message buffer. PROC1 put this line in the message buffer. PROC2 put this line in the message buffer. db2 => (Эта фича позволяет не меняя структуру процедуры,- что очень важно (типа использования output параметр типа array)) получать некие сообщения из процедуры Использую .Net приложение (с .Net провайдером) получить данные сообщения невозможно(насколько я вижу),- что очень огорчает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2011, 17:34 |
|
||
|
DBMS_OUTPUT
|
|||
|---|---|---|---|
|
#18+
Bart, Я не специалист в .Net технологиях, но общий смысл в следующем: Пусть есть процедура proc, внутри которой есть вызов dbms_output.put*. Эти вызовы помещают сообщения в буфер сообщений. Когда вы вызываете proc из CLP, оно как-то достаёт внутри эти сообщения и выводит в консоль. Если вы вызываете процедуру из .Net (или любой другой среды, например java), то, чтобы добраться до сообщений, которые она поместила в буфер, надо после вызова этой процедуры вызвать процедуру dbms_output.get*, в выходной параметр-массив которой и будет помещены сообщения. Т.е. вы не меняете процедуру proc и её вызов, вы только в приложении после её вызова вызываете dbms_output.get*. Но для этого, конечно, надо модифицировать вызывающее процедуру .Net приложение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2011, 17:57 |
|
||
|
DBMS_OUTPUT
|
|||
|---|---|---|---|
|
#18+
Спасибо за советы, Потыкался немного, Чтобы включить оутпут, мне нужно вызвать из приложения SET SERVEROUTPUT ON http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.admin.cmd.doc/doc/r0053562.html Используя .Net provider, команда падает с ошибкой ERROR [42601] [IBM][DB2/NT] SQL0104N An unexpected token "SERVEROUTPUT" was found following "SET ". Expected tokens may include: "SSA". P.S. "DBMS_OUTPUT.ENABLE" is part of "SET SERVEROUTPUT ON" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2011, 19:06 |
|
||
|
DBMS_OUTPUT
|
|||
|---|---|---|---|
|
#18+
Bart, Я не понимаю зачем это нужно, но сделать это можно вот так: Код: 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. 41. 42. 43. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2011, 00:04 |
|
||
|
DBMS_OUTPUT
|
|||
|---|---|---|---|
|
#18+
Bart, в java это выглядит так: java Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2011, 10:52 |
|
||
|
DBMS_OUTPUT
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за ответы (к сожалению, это все частные случаи). Насчет того, зачем это нужно: Разрабатывается (и уже продается) коробочный продукт в котором есть редактор для выполнения различных стейтментов. Хотелось в следующую версию, для удобства, включить поддержку вывода оутпута как это сделано в CLP (Да и клиенты это уже хотят) P.S. Ладно, буду PRM создавать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2011, 14:08 |
|
||
|
DBMS_OUTPUT
|
|||
|---|---|---|---|
|
#18+
Bart... Хотелось в следующую версию, для удобства, включить поддержку вывода оутпута как это сделано в CLPчто вам мешает в своём редакторе команд после вызова любой команды делать вызов dbms_output.get_line*? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2011, 14:31 |
|
||
|
DBMS_OUTPUT
|
|||
|---|---|---|---|
|
#18+
Ваш вариант конечно имеет право на жизнь но.. После каждой процедуры выполнять некие вызовы, в особенности если в 99% они не нужны для юзера, как-то нехорошо. Как я это вижу: Если юзеру необходим оутпут, он выполняет соотверствующую DB2 команду SET SERVEROUTPUT ON После этого, в соответствии с предназначением той комманды сервер сам понимает когда передать событие (что уменьшает количество лишних вызовов) ((DB2Connection) m_idbConnection).InfoMessage += Connection_InfoMessage; protected virtual void Connection_InfoMessage(object sender, DB2InfoMessageEventArgs e) { } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2011, 16:24 |
|
||
|
DBMS_OUTPUT
|
|||
|---|---|---|---|
|
#18+
Bart, разработчики-то видят по-другому, так что SET SERVEROUTPUT ON - это команда не серверу, а командному процессору, то есть приложению. Которое, в свою очередь, вызывает DBMS_OUTPUT.ENABLE и потом GET_LINES. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2011, 20:37 |
|
||
|
DBMS_OUTPUT
|
|||
|---|---|---|---|
|
#18+
Почитав /topic/879299&pg=1, решил немного поиграть с DB2-шным PL/SQL (на пробной версии 9.7.4). Фана я от этого совсем не получил. Даже такие крохотные кусочки кода без проблем не переносятся. Производительность тоже не обрадовала. Впридачу ко всему и DBMS_OUTPUT ведёт себя... странно (если это не PL/SQL ведёт себя странно). Код: Код: plaintext Результат: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2011, 20:46 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=37438714&tid=1602104]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
160ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 291ms |
| total: | 548ms |

| 0 / 0 |
