Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Q: Solution for bug 458336? (UTL_FILE.PUT() -> UTL_FILE.WRITE_ERROR)
Hi again,
I think I am trapped in bug no. 458336...
System:
Problem:
I am trying to write to a file lines longer than 1023 characters. For that I split them in several chunks of 1000 characters and write them to a file using UTL_FILE.PUT(). This *SHOULD* work, however, Oracle seems not to UTL_FILE.FFLUSH() the lines in the buffer unless a UTL_FILE.NEW_LINE() is issued. Unfortunatelly, I cannot split the long lines into smaller ones!
For Oracle 7.3.2.2 and Windows95 this bug is stated as 458336.
Is there a patch available for my environment?
Thank you very much for all help, Gerhard.
----------< parts of the code <-------------
[...]
lineno := 1;
FOR export_rec IN export_cur
LOOP
line := ( TO_CHAR(lineno) || ' ' || export_rec.dkzh || ' ' || [......] ); -- <--- here the very long line gets built
i := 1; l := LENGTH( line );
WHILE i <= l
LOOP
UTL_FILE.PUT( file, SUBSTR( line, i, 1000 ) ); i := i + 1000; UTL_FILE.FFLUSH( file ); -- <--- This seemed to be IGNORED!-- UTL_FILE.NEW_LINE( file, 1 ); -- <--- If I ADD this line, IT WORKS!
END LOOP; -- WHILE i <= l
UTL_FILE.NEW_LINE( file, 1 );
UTL_FILE.FFLUSH( file );
lineno := lineno + 1;
END LOOP;
Received on Fri Nov 05 1999 - 15:35:53 CST
![]() |
![]() |