我使用以下代码将多个文件写入一个BLOB 字段:
create or replace procedure blob_loader as
dir varchar2(50) := 'FILES_TO_LOAD';
lblob BLOB;
lfile BFILE;
f UTL_FILE.FILE_TYPE := UTL_FILE.FOPEN(dir, 'index.txt', 'R');
buffer VARCHAR2(30000);
begin
insert into blob_table
(blob_file)
values
(empty_blob())
returning blob_file into lblob;
dbms_lob.open(lblob, dbms_lob.lob_readwrite);
LOOP
BEGIN
utl_file.get_line(f, buffer);
lfile := BFILENAME(dir, buffer);
dbms_lob.open(lfile, dbms_lob.lob_readonly);
dbms_lob.loadfromfile(lblob, lfile, dbms_lob.getlength(lfile));
dbms_lob.close(lfile);
EXCEPTION
WHEN no_data_found THEN
EXIT;
END;
END LOOP;
dbms_lob.close(lblob);
commit;
end blob_loader;
现在我想将该字段中的文件读回磁盘,以便它们再次成为单独的文件。
有谁知道如何定义 blob 字段中的一个文件何时结束而另一个文件何时开始?
一点帮助?