UTL_FILE.WRITE_ERROR

I've been receiving this error, but looking up in documentation it says that this is an O/S error and that's it.

I'm just PUTting and PUT_LINE-ing data to a file.  I get through about 22 iterations of a cursor for loop and then the exception is raised but I have no clue.

Is there a buffer limitation as to how much you can write out to a straight line (i.e. using PUT continously on one line then finally doing a PUT_LINE)?

Thanks,
Gio
LVL 3
jaramillAsked:
Who is Participating?
 
bvanderveenConnect With a Mentor Commented:
You might try UTL_FILE.FFLUSH to clear the buffer.

I'm not aware of any limitation on how long a single line can be.

There is an error (in 8.0.5 + versions) called INVALID_MAXLINESIZE that would be thrown if you had a line too large.

There is an overloaded version of FOPEN that has a max_linesize parameter, and it is a binary_integer type, having a max value of 32767.  If not specified, the max_linesize is 1024.

Signature of FOPEN:
   UTL_FILE.FOPEN(location IN VARCHAR2,
                            filename in VARCHAR2,
                            open_mode in VARCHAR2,
                            max_linesize in BINARY_INTEGER)

Try it with a larger version of max_linesize, and see what happens.
0
 
seazodiacConnect With a Mentor Commented:
yes, in Oracle9i, 32Kbytes..
0
 
bvanderveenCommented:
32kb is the max linesize if you specify it, othewise it is 1kb...
0
 
jaramillAuthor Commented:
Thanks.  I'm on Oracle8i (8.1.6.2.0) and I see that the limit is only 1kb as mentioned so I'll try to set it to that and get back to you.

Gio
0
 
jaramillAuthor Commented:
Sometimes reading the manual a "little" more clearly would've dug this info up for me but sometimes you need another pair of eyes.  That was it guys.  Thanks for the help bvanderveen.

Gio
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.