Я попытался создать файл с помощью команды Oracle UTL_FILE.FOPEN, но получаю эту ошибку. Есть ли альтернатива?
log_file:=UTL_FILE.FOPEN("P:\Documentation\Project Team\SA\CSR_Documentation\SHR-10500",'outputforDeleteStudentGroup.txt', 'W');
Я не хочу говорить о создании или замене каталога, потому что каталог уже существует.
Пожалуйста, предложите.
Спасибо, Шрирам
Ответ 1 · рейтинг 2 · Justin Cave
CREATE OR REPLACE DIRECTORY не создает каталог на уровне операционной системы. Он создает объект каталога Oracle. Вы хотите создать объект каталога Oracle, указывающий на каталог на уровне операционной системы. Потенциально вы могли бы пойти с очень старомодным подходом изменения параметра инициализации UTL_FILE_DIR, чтобы включить P:\Documentation\Project Team\SA\CSR_Documentation\SHR-10500 и перезагрузить базу данных, но я бы не рекомендовал это.
Первый параметр UTL_FILE.FOPEN должен быть строкой, что означает, что он должен быть заключен в одинарные, а не в двойные кавычки.
Существует ли диск P:\ в файловой системе сервера базы данных? Или это сетевой диск, который монтируется сервером базы данных? Или это каталог, доступный клиенту?