我想使用“UTL”功能将文件从一个目录复制到另一个目录。
源目录= EXPORT_PPM_TEMP
目标目录= EXPORT_PPM
我正在保存集合中的所有文件名,并循环遍历集合并复制到目标目录。
集合名称= vc_file_name。
我使用下面的代码进行复制。它正在复制所有文件,但有些文件正在复制为空文件
FOR i IN 1 .. vc_index
LOOP
vc_lp_file_name := vc_file_name(i);
Utl_File.Fcopy('EXPORT_PPM_TEMP',vc_lp_file_name,'EXPORT_PPM',vc_lp_file_name);
Utl_File.Fremove('EXPORT_PPM_TEMP',vc_lp_file_name);
END LOOP;
使用内容处理某些文件的原因是什么,而某些文件没有内容
答案 0 :(得分:0)
DECLARE
in_file utl_file.file_type;
s VARCHAR2(200);
c NUMBER := 0;
out_file utl_file.file_type;
BEGIN
in_file := utl_file.fopen('/scratch/fccus/dbDump/BT', 'rocs.001.001.06.xml', 'R');
out_file := utl_file.fopen('/scratch/fccus/dbDump/BT/success', 'rocs.001.001.06.xml', 'W');
LOOP
utl_file.get_line(in_file, s);
utl_file.put_line(out_file, s);
--dbms_output.put_line(s);
c := c + 1;
END LOOP;
EXCEPTION
WHEN no_data_found THEN
utl_file.fclose(in_file);
utl_file.fclose(out_file);
dbms_output.put_line('Number of lines: ' || c);
END;