ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytes:

解决方法:
sqlplus登录环境没有设置buffer的大小,默认情况下是20000,将打印打开也同时赋予20000的buffer,如果输出超过这个值,则会报以上错误!
设置更大的buffer值,可以使用 exec dbms_output.enable(200000)来设置该buffer值。
设置成更大的也会出现buffer overflow.同时要oracle无限制好像没什么方法,所以输出这么多内容的话,建议作个日志表,因为缓冲总会满的

 
说明:该方法要先执行了"Set serveroutput on;"这个命令之后执行才起作用即:

Set serveroutput on;
exec dbms_output.enable(200000);
declare 
    ---define Cursor
     Cursor cur is
     select * from action a order by a.id desc;
     curInfo cur%rowtype;---定义游标变量
Begin
   ---中间内容省略
end

 

另外如果在pl/sql中执行"set serveroutput on"的命令应该在Comman window中执行,否则有可能报错!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐