I created and launch the SQLJ Java procedure (using SQL Developer). I have some bugs and I would like to debug Java source code. What is the best way to do this? Is it possible to print to the SQL Developer console some information using System.out?
2 Answers
The default standard output device in the Oracle Java virtual machine (JVM) is the current trace file.
If you want to reroute all standard output from a program executing in the server--output from any System.out.println()
calls, for example--to a user screen, you can execute the SET_OUTPUT() procedure of the DBMS_JAVA package as in the following example.
Input the buffer size in bytes (10,000 bytes in this case).
sqlplus> execute dbms_java.set_output(10000);
Output exceeding the buffer size will be lost.
If you want your code executing in the server to expressly output to the user screen, you can also use the PL-SQL DBMS_OUTPUT.PUT_LINE() 3 procedure instead of the Java System.out.println()
method.

- 7,958
- 8
- 39
- 51

- 787
- 7
- 7
SQL Developer has a built-in PL/SQL debugger. There is a useful guide on how to use it here. Pay special attention to the need for DEBUG CONNECT SESSION and DEBUG ANY PROCEDURE privileges.
I admit I don't know whether this works for SQLJ but it seems like the best place to start.

- 144,005
- 19
- 170
- 281