Ноя 292012
 

При попытке создать файл в существующей директории пользователь получил такую ошибку:

ORA-29280:	 invalid directory path

Директория была создана ранее и назвалась CUBE:

CREATE DIRECTORY cube AS '/statistics/Cube';
GRANT READ, WRITE ON DIRECTORY cube TO some_user;

В результате небольшого анализа удалось выяснить причину.
Дело в том, что пользователь пытался создать файл примерно таким образом:

l_output := utl_file.fopen('Cube', vfilename, 'w', 32760);

Первый параметр метода fopen() - имя директории. Оно должно быть в верхнем регистре. Так заработало:

l_output := utl_file.fopen('CUBE', vfilename, 'w', 32760);

Такая вот мелочь. Вообще, в Oracle все имена объектов лучше передавать в верхнем регистре.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">

(обязательно)

(обязательно)