sqldeveloper - DBMS_OUTPUT.PUT_LINE() 不起作用

sqldeveloper - DBMS_OUTPUT.PUT_LINE() Doesn't Work

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

我已经打开了 DBMS 输出 window,甚至连接了一个可用的连接。但是在 运行 以下脚本中,只有 "PL/SQL procedure successfully completed" 被打印在脚本输出 window 中,Dbms 输出中没有任何内容 window.

另外,我将缓冲区大小设置为 30000,我想这足以打印字符串 'test'。 运行 命令 set serveroutput on 也不起作用。

当我在命令提示符 SQLPlus 中尝试相同的脚本时,它工作正常并在打印 "PL/SQL procedure successfully completed".

之前打印 'test'

请帮忙。谢谢

屏幕上的最后一个窗格是 "Dbms Output"。单击其工具栏中的绿色“+”号,然后再次执行 BEGIN-END 块。

浏览 Oracle 社区论坛后,我了解到我正在使用的 SQL Developer 17.x 不提供对 Oracle 10g 的支持。

旧版本的 SQL 开发人员 4.x 将支持 Oracle 10g 并检索 DBMS_OUTPUT 缓冲区以将其显示在屏幕上。

因为我只为我的家庭作业设置了一个小型数据库并且不想降级到较旧的 SQL 开发人员,所以我升级到 Oracle 11g XE 并且它可以正常工作。 DBMS_OUTPUT.PUT_LINE() 过程的所有输入现在都出现在 Dbms 输出 window.

我添加这个答案是为了帮助遇到这个 S.O 问题的其他人。

我也很难在 SQL 开发人员上打印 DBMS_OUTPUT 所以我把这个有用 link 我发现很好地解释了该机制的工作原理

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