Daten direkt in Datei Schreiben führt zu einem Fehler

Sollen viele Daten direkt aus der Datenbank in eine Datei geschrieben werden kann es sein das Folgender Fehler auftritt:

Error report:
ORA-29285: file write error
ORA-06512: at “SYS.UTL_FILE”, line 148
ORA-06512: at “SYS.UTL_FILE”, line 403
ORA-06512: at “SYS.UTL_FILE”, line 1166
ORA-06512: at line 58
29285. 00000 – “file write error”
*Cause: Failed to write to, flush, or close a file.
*Action: Verify that the file exists, that it is accessible, and that
it is open in write or append mode.

Die Ursache hierfür ist der Umstand das Oracle per default eine Zeichenbegrenzung pro Dateizeile von 1024 hat. Diese muss nur Angehoben werden. Maximal sind 32KB möglich.

DECLARE
vClob        CLOB;
vOutputfile  utl_file.file_type;
vFileLoc     VARCHAR2(50) := ‘Con_DIR’;
vFN          VARCHAR2(25) := ‘CycleExtract.SQL’;
vOpenMode    CHAR(1) := ‘W’; /* Using W for testing use A for running/default */
vMaxLineSize NUMBER := 32700; /* fyi 32767 limit */
BEGIN
vOutputFile := utl_file.Fopen(vFileLoc, vFN, vOpenMode, vMaxLineSize);