1

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?

APC
  • 144,005
  • 19
  • 170
  • 281
Michał Ziober
  • 37,175
  • 18
  • 99
  • 146

2 Answers2

3

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.

Rob Kielty
  • 7,958
  • 8
  • 39
  • 51
geekzspot
  • 787
  • 7
  • 7
0

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.

APC
  • 144,005
  • 19
  • 170
  • 281