增加JBSQL中的缓冲区大小

时间:2013-10-09 12:51:55

标签: sql oracle rdbms

我有一些用户试图使用JBSQL工具运行的Oracle PL?SQL代码

有一些dbms_output行 - 当用户运行代码时会出现错误

 ORA-06502: PL/SQL: numeric or value error: character string buffer too small

如何增加缓冲区大小?

我试过

SET SERVEROUTPUT ON SIZE 1000000;

但获得“未知选项大小”。无论设置缓冲区大小的工具是否都有“默认”命令?或者我可以向PL / SQL添加任何内容吗?

(最后我会将这些行写入表格/文本文件,但需要启动并运行此程序以显示它是值得的 - 一切正常 - 只是最后通知用户的位!!!)

感激不尽的任何帮助

由于

麦克

3 个答案:

答案 0 :(得分:2)

SET SERVEROUTPUT是SQL * Plus命令,它不是SQLPL/SQL命令。它只能在SQL * Plus或类似SQL * Plus的工具中工作(Toad,SQL开发人员......)。

您可以使用DBMS_OUTPUT.enable(buffer_size)来增加默认输出缓冲区大小。但请注意,您的错误可能来自其他地方:ORA-06502是一个通用错误,可以通过变量太小的任何赋值来提高。

答案 1 :(得分:1)

SET SERVEROUTPUT ON SIZE n;是一个SQL * Plus命令,但许多编辑器允许使用它。无论如何,你可以试试这个:

BEGIN
  DBMS_OUTPUT.ENABLE(BUFFER_SIZE => 1000000);
END;

答案 2 :(得分:1)

您使用的是哪个版本的JBSql?通常,从版本1.1.0.2开始,缓冲区大小已从255增加到32767个字符。如果它仍然无法使用最新版本(1.3.0.0),那么请为http://duofoto.be/mantis

提供一个测试用例