这里介绍了将文件内容转换为blob的过程:
Using PL/SQL how do you I get a file's contents in to a blob?
但是,这并不能帮助您迭代一个目录中的多个文件。
有两种可能的解决方案:
解决方案1:
SYS.DBMS_BACKUP_RESTORE.searchFiles
您可以将搜索条件传递给这个过程,它会用结果列表填充一个全局内存中的表,然后您可以这样迭代:
DECLARE
pattern VARCHAR2(1024) := '/u01/oracle/admin/SID/udump';
ns VARCHAR2(1024);
BEGIN
SYS.DBMS_BACKUP_RESTORE.searchFiles(pattern, ns);
FOR each_file IN (SELECT FNAME_KRBMSFT AS name FROM X$KRBMSFT WHERE FNAME_KRBMSFT LIKE '%.trc') LOOP
DBMS_OUTPUT.PUT_LINE(each_file.name);
END LOOP;
END;
/
看一个完整的例子和一个很好的解释
here
.
解决方案2:Java
伟大的汤姆“ASKTOM”Kyt演示了如何使用Java程序对文件进行迭代。
here
.