sqldeveloper - DBMS_OUTPUT.PUT_LINE()不起作用

时间:2018-04-12 18:41:18

标签: plsql oracle-sqldeveloper dbms-output

我正在尝试将传递给DBMS_OUTPUT.PUT_LINE()函数的值打印到SQL Developer中的DBMS_OUTPUT屏幕。无论我传递给函数什么,都不会在输出窗口中打印任何内容。

我打开了DBMS输出窗口,甚至连接了可用的连接。但是在运行以下脚本时,只有" PL / SQL过程成功完成"在“脚本输出”窗口中打印,“Dbms输出”窗口中没有任何内容。

此外,我已将缓冲区大小设置为30000,我认为这足以打印字符串' test'。 运行命令set serveroutput on也没有用。

Cannot get to print!

当我在命令提示符下在SQLPlus中尝试相同的脚本时,它工作正常并打印' test'在打印之前" PL / SQL程序成功完成"。

请帮助。感谢。

3 个答案:

答案 0 :(得分:6)

通过Oracle社区论坛后,我了解到我使用的SQL Developer 17.x不支持Oracle 10g。

较早版本的SQL Developer 4.x将支持Oracle 10g并检索DBMS_OUTPUT缓冲区以在屏幕上显示它。

由于我只为我的家庭作业设置了一个小型数据库,并且不想降级到较旧的SQL Developer,我升级到Oracle 11g XE并且它有效。现在,DBMS_OUTPUT.PUT_LINE()过程的所有输入都出现在Dbms输出窗口中。

答案 1 :(得分:2)

屏幕上的最后一个窗格是" Dbms输出"。点击绿色" +"在其工具栏中签名,然后再次执行BEGIN-END块。

答案 2 :(得分:0)

如果其他人遇到此S.O问题,我会添加此答案以帮助其他人。

我也很努力地在SQL Developer上打印DBMS_OUTPUT,所以我把这个有用的链接放到了很好的地方,解释了该机制的工作原理

https://www.thatjeffsmith.com/archive/2012/03/dbms_output-in-sql-developer/