在Java存储过程中打印语句

时间:2018-12-10 06:01:16

标签: java oracle java-stored-procedures

我试图将打印语句添加到我的oracle java存储过程中只是为了对其进行调试(因为我没有从中获得所需的结果),并查看其进展情况。 当我添加System.out.println语句并从SQL开发人员执行该语句时,它不在我的“脚本输出”窗格或“消息”或“日志记录”窗格中打印任何内容。

已经从事此工作的人可以帮助我了解我必须使用哪个语句将打印语句添加到我的java proc中以及该语句将在哪里打印。

谢谢。

1 个答案:

答案 0 :(得分:0)

https://docs.oracle.com/cd/B19306_01/java.102/b14187/chthree.htm#CACIIEDH提供以下帮助。在SQL Developer中实施此操作时,这些语句将显示在您对Java存储过程(或包装它的任何PLSQL代码)的调用上方:

重定向服务器上的输出

System.out和System.err打印到当前的跟踪文件。要将输出重定向到SQL * Plus文本缓冲区,请使用以下解决方法:

SQL> SET SERVEROUTPUT ON

SQL> CALL dbms_java.set_output(2000);

最小和默认缓冲区大小为2,000字节,最大大小为1,000,000字节。在下面的示例中,缓冲区大小增加到5,000个字节:

SQL> SET SERVEROUTPUT ON SIZE 5000

SQL> CALL dbms_java.set_output(5000);

输出将在呼叫结束时打印。