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
dbms_output size buffer overflow
提问by Arav
I tried to set the dbms_output
size 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);