Операторы печати в хранимых процедурах Java

Я пытаюсь добавить операторы печати в свою хранимую процедуру oracle java только для ее отладки (потому что я не получаю от нее требуемых результатов) и посмотреть, как она продвигается. Когда я добавляю оператор System.out.println и выполняю его от разработчика SQL, он ничего не печатает ни на панели вывода сценария, ни на панелях сообщений или журналов.

Может ли кто-нибудь, кто уже работал в этом, помочь мне с информацией о том, какой оператор я должен использовать, чтобы добавить операторы печати в мой java-процесс и где он будет напечатан.

Заранее спасибо.


person Manikanta Devisetty    schedule 10.12.2018    source источник
comment
из хранимой процедуры вернуть параметр   -  person Ganesh Gudghe    schedule 10.12.2018


Ответы (1)


https://docs.oracle.com/cd/B19306_01/java.102/b14187/chthree.htm#CACIIEDH предлагает следующую справку. При реализации этого в SQL Developer эти операторы будут отображаться над вашим вызовом вашей хранимой процедуры Java (или любого другого кода PLSQL, обертывающего ее):

Перенаправление вывода на сервер

System.out и System.err печатают текущие файлы трассировки. Чтобы перенаправить вывод в текстовый буфер SQL*Plus, используйте следующий обходной путь:

SQL> SET SERVEROUTPUT ON

SQL> CALL dbms_java.set_output(2000);

Минимальный размер буфера по умолчанию составляет 2000 байт, а максимальный размер — 1 000 000 байт. В следующем примере размер буфера увеличен до 5000 байт:

SQL> SET SERVEROUTPUT ON SIZE 5000

SQL> CALL dbms_java.set_output(5000);

Вывод печатается в конце вызова.

person REW    schedule 10.12.2018