Несколько вопросов касаются меня по поводу вашего вопроса.
Во-первых, обычные пользователи, такие как SCOTT, не должны создавать каталоги. CREATE ANY DIRECTORY чрезвычайно эффективен, поскольку он предоставляет привилегии чтения/записи в любой директории ОС, доступной для учетной записи oracle
; это массивная дыра в безопасности.
Во-вторых, путь к каталогу должен быть только путем, без файла. Мы создаем файлы с использованием UTL_FILE, Data Pump или любого другого. Вызов UTL_FILE.FOPEN()
завершится с ошибкой, если прошедший DIRECTORY на самом деле является пустым файлом, а не каталогом ОС.
Я не могу объяснить, почему тот же самый оператор, успешно выполненный Системой, не работает при выполнении SCOTT. У меня нет 9i, поэтому я не могу это проверить. Пожалуйста, отключите весь вывод SQL * Plus, чтобы мы могли видеть, что происходит. Как отметил Питер, ваш вопрос, похоже, содержит опечатку, поэтому на данный момент мы не можем быть уверены, что то, что вы думаете, происходит на самом деле - это, что происходит.
где вы его создадите? используя какое программное обеспечение? sqlplus? – Dani