Re: utl_file question

  • From: Hemant K Chitale <hemantkchitale@xxxxxxxxx>
  • To: RStorey@xxxxxxxxxxxxxxxxxx
  • Date: Wed, 20 Jun 2018 22:13:37 +0800

11g requires that each target directory to be accessed via a logical name
created by the CREATE DIRECTORY command with GRANT READ, WRITE on the
DIRECTORYs.

On Wed, 20 Jun 2018, 21:33 Storey, Robert (DCSO), <
RStorey@xxxxxxxxxxxxxxxxxx> wrote:

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?

Other related posts: