2

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

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

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

无法打印!

当我在命令提示符下在 SQLPlus 中尝试相同的脚本时,它可以正常工作并在打印“PL/SQL 过程成功完成”之前打印“测试”。

请帮忙。谢谢。

4

3 回答 3

9

通过 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 输出窗口中。

于 2018-04-14T08:50:01.650 回答
3

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

于 2018-04-12T20:33:19.160 回答
1

如果他们遇到这个 SO 问题,我会添加这个答案来帮助其他人。

我还在 SQL Developer 上打印 DBMS_OUTPUT 时遇到了困难,所以我放了这个有用的链接,我发现它很好地解释了机制是如何工作的

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

于 2020-10-14T14:38:00.090 回答