Re: utl_file question

  • From: Jonathan Lewis <jonathan@xxxxxxxxxxxxxxxxxx>
  • To: "oracle-l@xxxxxxxxxxxxx" <oracle-l@xxxxxxxxxxxxx>, "RStorey@xxxxxxxxxxxxxxxxxx" <RStorey@xxxxxxxxxxxxxxxxxx>
  • Date: Wed, 20 Jun 2018 14:14:28 +0000


I don't know if the security model changed between 9 and 11, but there is this 
comment in the manual (11.1):

"A subdirectory of an accessible directory is not necessarily also accessible; 
it too must be specified using a complete path name matching an ALL_DIRECTORIES 
object."


This suggests that your "add /level3/filename" shouldn't work and you need to 
specify /level1/level2/level3 as a directory (or the path name if you're using 
the utl_file_dir mechanism).

Regards
Jonathan Lewis

________________________________________
From: oracle-l-bounce@xxxxxxxxxxxxx <oracle-l-bounce@xxxxxxxxxxxxx> on behalf 
of Storey, Robert (DCSO) <RStorey@xxxxxxxxxxxxxxxxxx>
Sent: 20 June 2018 14:31:30
To: oracle-l@xxxxxxxxxxxxx
Subject: utl_file question

Working on moving some stored procedures from a 9i to an 11g system and I hit a 
snag with regards to utl_file.

In my stored proc, I pull a path variable, ie, d:\level1\level2 for a root 
level folder.  Then, as the procedure goes through the motions, it tacks on 
another level to this path based on some criteria.  It then writes out a flat 
text file to location d:\Level1\Level2\Level3.

When I tested this proc in my 11g, I kept getting an utl_file.invalid_path 
error.   I first took this as permissions based, but, when I gave everyone full 
control of the destination folder, it still gave same error.

Created a simple proc to just open and close a file.  Get the same error 
regardless of where I point it.  This code works perfect on the 9i, but not 11g.

A check of documents and online searching seems to point to the fact that you 
can’t pass UTL_FILE.FOPEN a qualified path name.  You now have to create a 
“Directory” object and give permssions to it, and use it as the Path.

Anyone confirm or deny?
--
//www.freelists.org/webpage/oracle-l


Other related posts: