dbms_output.put_line 在 PLSQL Developer 中对于超过 32512 个字符的字符串失败并出现 ORA-06502

dbms_output.put_line in PLSQL Developer fails with ORA-06502 for strings longer than 32512 chars

此脚本在 PLSQL 开发者版本 14.0.0.1961 中失败(错误 ORA-06502: PL/SQL: numeric or value error: character string buffer too small):

declare
  v varchar2(32767) := rpad('x',32513,'x');
begin
  dbms_output.enable(null);
  dbms_output.put_line(v);
end;
/

我该如何解释这种行为? 32512 似乎是一个有趣的常量(我在一些 APEX question, question about blobs and is also mentioned in JDBC tutorial 中找到它,但我错过了与所描述问题的任何联系。)

看起来像 PL/SQL 开发者错误。

2013 年,他们说他们会 fix it:

it's a bit of a low-level issue, so his may need to wait until version 11.0.

你用的是哪个版本?