我只想使用UTL_FILE
概念将表数据写入文本文件。我要做的是
i)创建一个新目录:
Create directory ddd as 'D:\sql';
ii)授予该目录对用户HR的读写访问权限:
grant read,write on directory ddd to hr;
iii)授予其他UTL_FILE特权:
grant execute on UTL_FILE to hr;
我编写了程序,并得到如下错误:
SQL> connect hr/admin
Connected.
SQL> declare
2 f utl_file.file_type;
3 i varchar(100);
4 begin
5 f:=utl_file.fopen('ddd','utlfile.txt','w',32767);
6 for x in(select first_name,salary from employees where rownum<=10)loop
7 i:=x.first_name||' '||x.salary;
8 utl_file.put_line(f,i);
9 utl_file.new_line(f);
10 end loop;
11 utl_file.fclose(f);
12 end;
13 /
获得的输出为:
declare
*
ERROR at line 1:
ORA-29280: invalid directory path
ORA-06512: at "SYS.UTL_FILE", line 41
ORA-06512: at "SYS.UTL_FILE", line 478
ORA-06512: at line 5
我不知道我在这里想念什么。。。我在这个问题上苦苦挣扎了大约2天。请帮助我。
答案 0 :(得分:0)
我们使用的变量定义为order: [
[ { model: survey, as: 'survey' }, 'subjectId', 'ASC'],
[ { model: survey, as: 'survey' },
{ model: question, as: 'question' }, 'id', 'ASC']
]
而不是char
,因此它将空格填充到文件名中。