DECLARE
src_loc BFILE;
dst_loc CLOB;
src_offset NUMBER := 1;
dst_offset NUMBER := 1;
src_osin NUMBER;
dst_osin NUMBER;
bytes_rd NUMBER;
bytes_wt NUMBER;
w number;
xml_data clob;
BEGIN
for ds in (select fl.* from list_of_xml_for_load fl where fl.file_name in ('RIV_M_77066_151021_280.xml','RIV_M_77066_151118_16.xml'))
loop
dst_loc := ds.xml_file;
src_loc:= bfilename('XMLLOAD',ds.file_name);
DBMS_LOB.createtemporary (xml_data, TRUE, DBMS_LOB.SESSION);
DBMS_LOB.fileopen (src_loc, DBMS_LOB.file_readonly);
DBMS_LOB.loadfromfile (xml_data, src_loc, DBMS_LOB.getlength (src_loc));
DBMS_LOB.fileclose (src_loc);
update list_of_xml_for_load t
set t.xml_file=xml_data
where t.id = ds.id;
COMMIT;
end loop;
END ;
------------------------------------
лист файлов BAT
@echo off
for /r %%i in (*.xml) do (
rem Выводим имя файла
echo "SELECT "%%i" as FILENAME FROM DUAL UNION ALL " >> cmd.txt
)
src_loc BFILE;
dst_loc CLOB;
src_offset NUMBER := 1;
dst_offset NUMBER := 1;
src_osin NUMBER;
dst_osin NUMBER;
bytes_rd NUMBER;
bytes_wt NUMBER;
w number;
xml_data clob;
BEGIN
for ds in (select fl.* from list_of_xml_for_load fl where fl.file_name in ('RIV_M_77066_151021_280.xml','RIV_M_77066_151118_16.xml'))
loop
dst_loc := ds.xml_file;
src_loc:= bfilename('XMLLOAD',ds.file_name);
DBMS_LOB.createtemporary (xml_data, TRUE, DBMS_LOB.SESSION);
DBMS_LOB.fileopen (src_loc, DBMS_LOB.file_readonly);
DBMS_LOB.loadfromfile (xml_data, src_loc, DBMS_LOB.getlength (src_loc));
DBMS_LOB.fileclose (src_loc);
update list_of_xml_for_load t
set t.xml_file=xml_data
where t.id = ds.id;
COMMIT;
end loop;
END ;
------------------------------------
лист файлов BAT
@echo off
for /r %%i in (*.xml) do (
rem Выводим имя файла
echo "SELECT "%%i" as FILENAME FROM DUAL UNION ALL " >> cmd.txt
)