存储过程出现缓冲溢出的问题

coollzh 2003-07-22 07:22:46
我的存储过程执行到一半出现缓冲区溢出,什么情况下会出现溢出,难道DBMS_OUTPUT.put_line()也会出现溢出,我没有放很长的东西再里面呀

*
ERROR 位于第 1 行:
ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytes
ORA-06512: 在"SYS.DBMS_OUTPUT", line 106
ORA-06512: 在"SYS.DBMS_OUTPUT", line 65
ORA-06512: 在"SMG_ADV.DAILYREPORT_PACKAGE", line 182
ORA-06512: 在line 1
...全文
43 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
coollzh 2003-07-23
  • 打赏
  • 举报
回复
如何在S E T S E RVEROUTPUT ON中显式地说明缓冲区长度?
gaobh 2003-07-23
  • 打赏
  • 举报
回复
set serveroutput on size 1000000
coollzh 2003-07-22
  • 打赏
  • 举报
回复
就是说sql plus中一次procedure执行DBMS_OUTPUT的最大长度为2000bytes,
而不是输出一行的长度为2000bytes。
lijian1008 2003-07-22
  • 打赏
  • 举报
回复
正确
gaobh 2003-07-22
  • 打赏
  • 举报
回复
将dbms_output.put_line()封调试试
另外,可以通过DBMS_OUTPUT.ENABLE(1000000);
将dbms_output的缓存放大
尽管D B M S _ O U T P U T. E N A B L E的默认值是20 000 个字节, 但是如果在S E T
S E RVEROUTPUT ON中没有显式地说明缓冲区长度的话, SQL *Plus 调用
D B M S _ O U T P U T. E N A B L E时用的缓冲区长度将是2 000 个字符。

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧