Где вывод system.out.println идет в Java-классе Oracle - PullRequest
8 голосов
/ 24 ноября 2010

Я загрузил Java-класс в Oracle с помощью утилиты loadjava

В этом классе есть несколько сообщений system.out.println.

Когда я выполняю метод из этого класса, я хочу видеть сообщения sysout.

Может кто-нибудь сказать мне, где я могу найти эти сообщения?

Ответы [ 2 ]

5 голосов
/ 24 ноября 2010

В статье Oracle содержится некоторая полезная информация.

Цитата:

Ваш класс:

public class SimpleJava {
   public void main(String[] args) {
      System.out.println("Here we are");
    }
}

Теперь скомпилируйте и загрузите ваш класс:

C:\oracle9i\bin>javac SimpleJava.java
C:\oracle9i\bin>loadjava -user scott/tiger SimpleJava.class

Из SQL * Plus создайте оболочку PL / SQL для вызова недавно загруженного класса Java:

SQL> create or replace procedure call_simplejava
  2  as language java
  3  name 'SimpleJava.showMessage()';
  4  /

Выполните код из SQL * Plus:

SQL> set serveroutput on;
SQL> call dbms_java.set_output(50);

Вызов завершен.

SQL> execute call_simplejava;
Here we are
4 голосов
/ 24 ноября 2010

System.out и System.err записывают в текущие файлы трассировки

Вы можете включить вывод в SQL * Plus или аналогичный с

установить выход сервера на размер 10000

exec dbms_java.set_output (10000)

См. Руководство разработчика Java здесь

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

Мне удалось настроить http://www.slf4j.org/ с приложением базы данных jdbc (не знаю, какие именно)

...