2015-07-30 2 views
0

Я следующие привилегии CREATE ANY DIRECTORY, чтение, запись на DOCS каталога для user_nameORA-29283: недопустимая операция файла при чтении файла

Я использую Oracle 10g на Windows.

Я первым создал каталог как

CREATE DIRECTORY DOCS AS 'C:\Documents and Settings\Owner\Desktop\file';

Каталог успешно создан.

Теперь, когда я попытался выполнить следующий код

DECLARE 
l_file   UTL_FILE.file_type; 
l_location  VARCHAR2(100) := 'DOCS'; 
l_filename  VARCHAR2(100) := 'test.pdf'; 
l_text   VARCHAR2(32767); 
BEGIN 
-- Open file. 
l_file := UTL_FILE.fopen(l_location, l_filename, 'r', 32767); 
-- Read and output first line. 
UTL_FILE.get_line(l_file, l_text, 32767); 
dbms_output.put_line('First Line: |' || l_text || '|'); 
-- Close the file. 
UTL_FILE.fclose(l_file); 
END; 

я получаю эти ошибки

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

ORA-06512: на "SYS.UTL_FILE" , строка 475

ORA-29283: недействительный файл

ORA-06512: в строке 8

+0

у вас есть доступ к ди Rectory? проверьте параметр базы данных utl_file_dir – davegreen100

+0

У вас есть каталог на рабочем столе с именем 'file'? Имеет ли учетная запись Oracle доступ к вашему домашнему каталогу? –

+0

Я проверил каталог, существует, выберите * из dicrectories. @AlexPoole –

ответ

0

я не имею доступ к оракулу на окнах, но что-то вроде этого в вас init.ora файл

UTL_FILE_DIR=c:\DOCS 

вам будет необходимо перезапустить оракул

вы также должны быть в состоянии сделать следующее (но я не проверял)

alter system set utl_file_dir=c:\DOCS scope=both 
+0

работает эта 'альтер система устанавливается utl_file_dir = C: \ DOCS сфера = both' дает мне ошибку ORA-02095: указанный параметр инициализации не может быть изменен @ davegreen100 –

+0

ФП с использованием объектов каталога , [который является предпочтительным] (http://docs.oracle.com/cd/E11882_01/appdev.112/e40758/u_file.htm # i996762), поэтому установка этого параметра инициализации не требуется. –

+0

Что мне делать? @AlexPoole –

Смежные вопросы