dbms_output 大小缓冲区溢出

Posted

技术标签:

【中文标题】dbms_output 大小缓冲区溢出【英文标题】:dbms_output size buffer overflow 【发布时间】:2011-11-08 04:09:48 【问题描述】:

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

但它给了我编译错误。所以我在 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

【问题讨论】:

【参考方案1】:

在过程 service_update 中,有机会调用

dbms_output.enable(30000); 

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

【讨论】:

非常感谢。将大小设置为无限制 dbms_output.enable(null) 并且它起作用了【参考方案2】:

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

dbms_output.enable(null);

【讨论】:

以上是关于dbms_output 大小缓冲区溢出的主要内容,如果未能解决你的问题,请参考以下文章

缓冲区溢出,sprintf而不是char调整大小? [重复]

c语言程序缓冲区溢出怎么办?

win10系统出现缓冲区溢出怎么解决

使用Linux进行缓冲区溢出实验的配置记录

android音池堆大小溢出

C语言画图理解堆栈溢出