Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Q: Solution for bug 458336? (UTL_FILE.PUT() -> UTL_FILE.WRITE_ERROR)

Q: Solution for bug 458336? (UTL_FILE.PUT() -> UTL_FILE.WRITE_ERROR)

From: Gerhard Möller <moeller_at_offis.de>
Date: Fri, 5 Nov 1999 22:35:53 +0100
Message-ID: <7vvijo$v4j@news.Informatik.Uni-Oldenburg.DE>


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

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US