Где я могу получить доступ к файлу из моей базы данных Oracle с помощью UTL_FILE? - PullRequest
0 голосов
/ 05 февраля 2019

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

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

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

Почему это будет?

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

БР Крестен

1 Ответ

0 голосов
/ 05 февраля 2019

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'); 
...