我有一些用户试图使用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添加任何内容吗?
(最后我会将这些行写入表格/文本文件,但需要启动并运行此程序以显示它是值得的 - 一切正常 - 只是最后通知用户的位!!!)
感激不尽的任何帮助
由于
麦克
答案 0 :(得分:2)
SET SERVEROUTPUT
是SQL * Plus命令,它不是SQL
或PL/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
提供一个测试用例