Не удается добавить новый каталог в all_directories на oracle?

Я пытаюсь добавить новый каталог в all_directories. Эта первая часть прошла хорошо, я думаю, но когда я пытаюсь создать файл в этом каталоге, я получаю:

ORA-29283: недопустимая файловая операция

Это мой код:

DECLARE
  fHandle  UTL_FILE.FILE_TYPE;
BEGIN
  fHandle := UTL_FILE.FOPEN('TEMPKBU', 'test.txt', 'w');
  UTL_FILE.FCLOSE(fHandle);
END;

КАТАЛОГ создан здесь:

SELECT * FROM all_directories WHERE  directory_name = 'TEMPKBU'

OWNER   DIRECTORY_NAME  DIRECTORY_PATH                          ORIGIN_CON_ID
SYS     TEMPKBU         \\kcdkfile03\UserData\Bruger\KBU\temp   0

А у пользователя есть права на запись:

SELECT * FROM all_tab_privs WHERE  table_name  = 'TEMPKBU'

GRANTOR GRANTEE TABLE_SCHEMA TABLE_NAME PRIVILEGE GRANTABLE HIERARCHY   COMMON  TYPE
SYS     KC_PROD SYS          TEMPKBU    EXECUTE   YES       NO          NO      DIRECTORY
SYS     KC_PROD SYS          TEMPKBU    READ      YES       NO          NO      DIRECTORY
SYS     KC_PROD SYS          TEMPKBU    WRITE     YES       NO          NO      DIRECTORY
KC_PROD PUBLIC  SYS          TEMPKBU    READ      NO        NO          NO      DIRECTORY
KC_PROD PUBLIC  SYS          TEMPKBU    WRITE     NO        NO          NO      DIRECTORY

Так почему же это не работает? И как мне получить более подробное сообщение об ошибке?

БР Крестен

1 ответ

Решение

Эта ошибка обычно возникает, если вы пытаетесь: 1. записать в каталог, который не существует, или 2. записать в каталог, в котором не были предоставлены достаточные права.

Хотя вы предоставили права на запись через базу данных, как насчет пользователя ОС Oracle? Пользователю ОС также потребуется иметь права доступа к каталогу на уровне операционной системы, иначе он не сможет создавать файлы и приведет к этой ошибке. Чтобы проверить, подключитесь к серверу базы данных, как пользователь Oracle (или какой пользователь использовался для создания базы данных), перейдите к этому \\kcdkfile03\UserData\Bruger\KBU\temp каталог, и попробуйте создать файл.

Вот соответствующая статья AskTom, которая может быть полезна: https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:9538408200346950265

Другие вопросы по тегам