Hallo,
ich habe ein Problem mit einem PL/SQL-Skript.
Das Skript soll Sätze einer Datenbanktabelle in eine Datei
ausgeben.
Es hat folgende Struktur:
set linesize 256
set serverout on
set termout off
set serveroutput on size 1000000
spool T:\sql\ausgabedatei.txt
declare
…
begin
…
dbms_output.put_line(…);
…
end;
spool off
Ich starte es in SQL+ Oracle 10 mit „start H:\sql\myfile.sql“
Es wird eine 2283KB große Ausgabedatei erstellt und auch mit
Daten gefüllt. Jedoch bricht das Skript nach ca. 9050 Zeilen ab
und bringt die Meldung:
FEHLER in Zeile 1:
ORA-20000: ORU-10027: buffer overflow, limit of 1000000 bytes
ORA-06512: in „SYS.DBMS_OUTPUT“, Zeile 32
ORA-06512: in „SYS.DBMS_OUTPUT“, Zeile 97
ORA-06512: in „SYS.DBMS_OUTPUT“, Zeile 112
ORA-06512: in Zeile 459
Ich habe dann versucht den Wert 1000000 bei
„set serveroutput on size 1000000“
weiter zu erhöhen, jedoch scheint es, dass bei 1000000 das Maximum
erreicht ist, denn trotz Einstellung eines höheren Wertes erscheint
in der Fehlermeldung stets die Zahl 1000000.
Meine Fragen:
Wie erreiche ich, dass die Ausgabedatei vollständig erstellt wird?
Ist der Befehl dbms_output.put_line für diesen Zweck geeignet oder
gibt es noch eine andere Möglichkeit Ausgabedateien zu erstellen?
Es würde mich sehr freuen wenn jemand mir weiterhelfen könnte.
Gruß
Lorenz