我在哪里可以使用 UTL_FILE 从我的 oracle 数据库访问文件?
Where can I access a file from my oracle db with UTL_FILE?
我正在尝试使用 UTL_FILE 从 oracle 数据库读取文件。
我找不到我有权访问的文件位置。
每当我使用此代码时:
DECLARE
F1 UTL_FILE.FILE_TYPE;
BEGIN
F1 :=UTL_FILE.FOPEN('C:\TEMP','test_file.txt','R');
END;
我得到:ORA-29280:目录路径无效
为什么会这样?
我能否以某种方式让 oracle 显示我有权访问的位置?
BR 克雷斯滕
UTL_FILE.FOPEN
使用 DBA_DIRECTORIES
。
SELECT * from ALL_DIRECTORIES
为您提供定义和访问 DBA_DIRECTORIES
。
您可以为您的文件操作创建目录
CREATE DIRECTORY File_Op_Dir AS '/u01/fileDir';
GRANT READ ON DIRECTORY File_Op_Dir TO <<user>>;
--IF you need write permission
GRANT WRITE ON DIRECTORY File_Op_Dir TO <<user>>;
然后
F1 := UTL_FILE.FOPEN('File_Op_Dir','u12345.tmp','R');
我正在尝试使用 UTL_FILE 从 oracle 数据库读取文件。 我找不到我有权访问的文件位置。 每当我使用此代码时:
DECLARE
F1 UTL_FILE.FILE_TYPE;
BEGIN
F1 :=UTL_FILE.FOPEN('C:\TEMP','test_file.txt','R');
END;
我得到:ORA-29280:目录路径无效
为什么会这样?
我能否以某种方式让 oracle 显示我有权访问的位置?
BR 克雷斯滕
UTL_FILE.FOPEN
使用 DBA_DIRECTORIES
。
SELECT * from ALL_DIRECTORIES
为您提供定义和访问 DBA_DIRECTORIES
。
您可以为您的文件操作创建目录
CREATE DIRECTORY File_Op_Dir AS '/u01/fileDir';
GRANT READ ON DIRECTORY File_Op_Dir TO <<user>>;
--IF you need write permission
GRANT WRITE ON DIRECTORY File_Op_Dir TO <<user>>;
然后
F1 := UTL_FILE.FOPEN('File_Op_Dir','u12345.tmp','R');