坑爹的plsql dev dbms_output输出长度限制

在尝试使用PL/SQL Developer通过DBMS_OUTPUT输出超过100万字符时,遇到buffer溢出问题,即使设置为unlimited仍受限。然而,SQL*Plus在相同情况下能成功处理长脚本输出,揭示了两者之间的差异。解决长脚本spooling的最佳选择是使用SQL*Plus。
摘要由CSDN通过智能技术生成

有时候需要用dbms_output  spool出一些脚本,所以很受长度100w个字符这个限制的困扰,但是后来发现在10GR2版本下,buffer已经可以很长很长,而行长可以达到32767个字符,为什么plsql dev里还不行呢,今天有空做了个实验

 

首先 在plsql dev里打开一个command window

SQL> set serveroutput on size unlimited;
SQL> declare
  2  x varchar2(4000);
  3  begin
  4  x:=rpad('*',250,'*');
  5  for i in 1..4000 loop
  6  dbms_output.put_line(x);
  7  end loop;
  8  end;
  9  /

ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytes
ORA-06512: 在 "SYS.DBMS_OUTPUT", line 32
ORA-06512: 在 "SYS.DBMS_OUTPUT", line 97
ORA-06512: 在 "SYS.DBMS_OUTPUT", line 112
ORA-06512: 在 line 7

我了个去啊!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值