Где я могу получить доступ к файлу из моей базы данных Oracle с помощью UTL_FILE?

Я пытаюсь прочитать из файла с оракулом дБ с помощью UTL_FILE. Я не могу найти местоположение файла, к которому у меня есть доступ. Всякий раз, когда я использую этот код:

DECLARE 
  F1 UTL_FILE.FILE_TYPE; 
BEGIN 
  F1 :=UTL_FILE.FOPEN('C:\TEMP','test_file.txt','R'); 
END;

Я получаю: ORA-29280: неверный путь к каталогу

С чего бы это?

Могу ли я как-то заставить оракула показать местоположение, к которому у меня есть доступ?

БР Крестен

1 ответ

Решение

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'); 
Другие вопросы по тегам