2010-11-24 7 views

Antwort

4

System.out und System.err schreibt den aktuellen Trace-Dateien

Sie Ausgang zu SQL * Plus aktivieren oder ähnlich mit

Satz SERVER auf Größe 10000

exec dbms_java. set_output (10000)

Siehe Java Developer's Guidehere

Das heißt, Sie sollten sich fragen, was möchte ich protokollieren, dass mein Client nicht in der Schnittstelle zu meiner Prozedur zurückgegeben sehen möchte. Die Antwort darauf ist normalerweise nichts.

ich in der Lage gewesen zu Setup http://www.slf4j.org/ mit einer JDBC-Datenbank appender (nicht sicher über die Besonderheiten)

+0

sollte nicht Ihre letzte Aussage umgekehrt werden? Log4jdbc wird verwendet, um über die Datenbankaktivität slf4j in Ihren lokalen Protokolldateien zu protokollieren. Sie können slf4j + logback für [Protokollierung in eine Datenbanktabelle] verwenden (http://logback.qos.ch/manual/appenders.html#DBAppender) – darioo

+0

Ja, ich bin mir nicht sicher, was genau das ist, log4j könnte ich gewesen sein Denk darüber nach. – oluies

5

Eine Oracle article einige nützliche Informationen zur Verfügung stellt.

Zitat:

Ihre Klasse:

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

nun kompilieren und Ihre Klasse laden:

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

Von SQL * Plus, erstellen Sie die PL/SQL-Wrapper die neu aufzurufen geladene Java-Klasse:

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

Ausführen des Codes von SQL * Plus:

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

Anruf abgeschlossen.

SQL> execute call_simplejava; 
Here we are