我在oracle中有一个代码,用于将数据从数据库写入文件。
conn := utl_file.fopen('sample_directory','output.csv','W',32000);
for i in (select * from per_data)
loop
utl_file.put_line(conn,i.name||','||i.dept||','||to_char(i.start_date,'dd-mon- yy')||','||to_char(i.expire_date,'dd-mon-yy')||','||i.loc||','||i.currently||','||i.past||','||i.sub1||','||i.sub2||','||i.sub3||','||i.sub4||','||i.sub5||','||i.sub6||','||i.sub7||','||i.sub8||','||i.sub9||','||i.sub10||','||i.sub11||','||i.sub12||','||i.sub13||','||i.total,TRUE);
end loop;
utl_file.fclose(conn);
EXCEPTION
WHEN OTHERS THEN
dbms_output.Put_line('SQL Error' || SQLCODE || SQLERRM);
Oracle没有抛出ORA-29285 - File write error
,但我可以看到我的输出文件不完整。
请问有人可以帮我解决这个问题吗?
编辑:在向输出添加两个新列之前,相同的代码工作正常。我的意思是说,每当我有一个不完整的文件时,Oracle都会通知我file_write_error
。