0

ユーザーが 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に何か追加できますか?

(最終的には行をテーブル/テキスト ファイルに書き込みますが、この手順を実行して価値があることを示す必要があります - すべてが完全に正常に動作します - 最後にユーザーに通知するビットだけです!!!)

感謝して受け取った助け

ありがとう

マイク

4

3 に答える 3

2

SET SERVEROUTPUTSQLorコマンドではなく、SQL*Plus コマンドPL/SQLです。SQL*Plus または SQL*Plus に似たツール (Toad、SQL 開発者など) でのみ機能します。

を使用DBMS_OUTPUT.enable(buffer_size)して、デフォルトの出力バッファ サイズを増やすことができます。ただし、エラーは別の場所から発生する可能性があることに注意してください。ORA-06502これは、変数が小さすぎる割り当てによって発生する可能性のある一般的なエラーです。

于 2013-10-09T13:02:21.353 に答える
1

SET SERVEROUTPUT ON SIZE n;は SQL*Plus コマンドですが、多くのエディタで使用できます。とにかく、代わりにこれを試してもらえますか:

BEGIN
  DBMS_OUTPUT.ENABLE(BUFFER_SIZE => 1000000);
END;
于 2013-10-09T13:01:47.567 に答える