Мне нужно прочитать текстовый файл, который я создал в базе данных. Я не уверен, какой путь будет подходящим для параметра каталога UTL_FILE.FOPEN
. Я сбит с толку, потому что путь находится не на моем локальном компьютере.
Путь, по которому я нашел этот файл, выглядит примерно так
\\{something here}\winixdb$\{schema here I think}\dev\data
Это мой текущий код.
Declare
f UTL_FILE.FILE_TYPE;
s VARCHAR2(200);
begin
f:= UTL_FILE.FOPEN({path_here}, 'certs_file.txt', 'R');
UTL_FILE.GET_LINE(f,s);
UTL_FILE.FCLOSE(f);
dbms_output.put_line(s);
end;
Прямо сейчас, если я укажу там точный путь, будет ошибка:
ORA-2928: Invalid Directory Path
Я пробовал искать другие ресурсы, но они говорят о пути, который можно найти в вашей локальной среде. Кроме того, я не совсем понимаю идею файла в вашей базе данных.
Я хочу, чтобы этот файл был выведен в СУБД.
directory
- это объект базы данных, который вам нужно создать (точно так же, как создание таблицы или индекса). Расположение находится на сервере базы данных, а не на клиенте. - person Glenn   schedule 13.07.2016fopen
? Этот путь указан в вашейutl_file_dir
настройке? Или вы создали объект каталога, указывающий на этот UNC-путь? Имеет ли пользователь операционной системы, запускающий службу Oracle, доступ к этому UNC-пути? - person Justin Cave   schedule 13.07.2016