Werner Fangmeier
2004-01-05 15:34:02 UTC
Hi all.
For some time now we are trying to use the DBMS_LOB package, but to no
avail.
I looked up all similar posts handling ORA-2228x-Errors with
DBMS_LOB.FILEOPEN, but none of the solutions given there seem to work
with my sample code.
We use a server version of 9.0.2, but the problems were identical when
we had 8.0.6 installed.
Here's an outline of the PL/SQL code:
declare
v_file_loc BFILE;
begin
-- This command succeeds
v_file_loc := BFILENAME('BLOB_FILE_DIR', 'PICTURE.BMP');
-- But this one throws an exeption ORA-2228x
DBMS_LOB.OPEN(v_file_loc, DBMS_LOB.LOB_READONLY);
...
end;
/
The call to DBMS_LOB.OPEN() fails with ORA-22285 (non-existent
directory or file for FILEOPEN operation). When querying the
ALL_DIRECTORIES system view, there is an entry for BLOB_FILE_DIR with
a path set to a network directory \\server\share\directory, which
exists and has a bitmap file PICTURE.BMP stored in it.
Even when connecting as SYSDBA, the code fails raising ORA-22288 (file
or LOB operation FILEOPEN failed).
When I try to use a directory entry mapped to a local folder
(C:\temp), it's the same problem and ORA-2228x is risen.
Since ALL_DIRECTORIES resides on the server, I assume the values for
DIRECTORY_PATH must point to a path which exists for the server, not
the client. So I can understand why a local path like C:\temp does not
work, but the UNC-Path \\server\share\directory should be accessible
from every node in the network.
Does any one have a hint to why the FileOpen() method raises an error?
TIA.
For some time now we are trying to use the DBMS_LOB package, but to no
avail.
I looked up all similar posts handling ORA-2228x-Errors with
DBMS_LOB.FILEOPEN, but none of the solutions given there seem to work
with my sample code.
We use a server version of 9.0.2, but the problems were identical when
we had 8.0.6 installed.
Here's an outline of the PL/SQL code:
declare
v_file_loc BFILE;
begin
-- This command succeeds
v_file_loc := BFILENAME('BLOB_FILE_DIR', 'PICTURE.BMP');
-- But this one throws an exeption ORA-2228x
DBMS_LOB.OPEN(v_file_loc, DBMS_LOB.LOB_READONLY);
...
end;
/
The call to DBMS_LOB.OPEN() fails with ORA-22285 (non-existent
directory or file for FILEOPEN operation). When querying the
ALL_DIRECTORIES system view, there is an entry for BLOB_FILE_DIR with
a path set to a network directory \\server\share\directory, which
exists and has a bitmap file PICTURE.BMP stored in it.
Even when connecting as SYSDBA, the code fails raising ORA-22288 (file
or LOB operation FILEOPEN failed).
When I try to use a directory entry mapped to a local folder
(C:\temp), it's the same problem and ORA-2228x is risen.
Since ALL_DIRECTORIES resides on the server, I assume the values for
DIRECTORY_PATH must point to a path which exists for the server, not
the client. So I can understand why a local path like C:\temp does not
work, but the UNC-Path \\server\share\directory should be accessible
from every node in the network.
Does any one have a hint to why the FileOpen() method raises an error?
TIA.