Search code examples
javaoracle-databasesqljoracle-sqldeveloper

How to print on Oracle SQL Developer console using SQLJ


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?


Solution

  • 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.