我有以下权限CREATE ANY DIRECTORY,读取,写入目录DOCS到user_name
我在Windows上使用oracle 10g。
我首先将目录创建为
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:at" SYS.UTL_FILE",第475行
ORA-29283:文件操作无效
ORA-06512:第8行
答案 0 :(得分:0)
我无法在Windows上访问oracle,但在init.ora文件中有类似的内容
UTL_FILE_DIR=c:\DOCS
然后你需要重新启动oracle
您还应该能够执行以下操作(但我没有对其进行测试)
alter system set utl_file_dir=c:\DOCS scope=both