Re: utl_file question
Date: Wed, 20 Jun 2018 14:14:28 +0000
Message-ID: <MM1P123MB084285FFE5D057EB38BBF01BA5770_at_MM1P123MB0842.GBRP123.PROD.OUTLOOK.COM>
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_at_freelists.org <oracle-l-bounce_at_freelists.org> on behalf of Storey, Robert (DCSO) <RStorey_at_DCSO.nashville.org> Sent: 20 June 2018 14:31:30
To: oracle-l_at_freelists.org
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?
-- http://www.freelists.org/webpage/oracle-lReceived on Wed Jun 20 2018 - 16:14:28 CEST