oracle dbms_output 大小缓冲区溢出

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/8045844/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-19 00:25:57  来源:igfitidea点击:

dbms_output size buffer overflow

oracleplsqloracle10gsqlplusdbms-output

提问by Arav

I tried to set the dbms_outputsize to unlimited inside a stored procedure.

我试图dbms_output在存储过程中将大小设置为无限制。

But it gave me compilation errors. So I tried in the SQL*Plus prompt the below way. But still I get the buffer overflow error. How can I overcome this?

但它给了我编译错误。所以我在 SQL*Plus 提示中尝试了以下方式。但我仍然收到缓冲区溢出错误。我怎样才能克服这个问题?

 set serveroutput on size unlimited;
 exec service_update;


ORA-20000: ORU-10027: buffer overflow, limit of 30000 bytes
ORA-06512: at "SYS.DBMS_OUTPUT", line 32
ORA-06512: at "SYS.DBMS_OUTPUT", line 97
ORA-06512: at "SYS.DBMS_OUTPUT", line 112
ORA-06512: at "ARBOR.SERVICE_UPDATE", line 27
ORA-06512: at line 1

回答by DCookie

In the procedure service_update, by any chance is there a call to

在过程 service_update 中,无论如何都会调用

dbms_output.enable(30000); 

This may override the first limit you set.

这可能会覆盖您设置的第一个限制。

回答by Hubbitus

In Oracle 10gR2 you may also use unlimited buffer (https://forums.oracle.com/forums/thread.jspa?threadID=361639):

在 Oracle 10gR2 中,您还可以使用无限缓冲区(https://forums.oracle.com/forums/thread.jspa?threadID=361639):

dbms_output.enable(null);