oracle 使用AS_ZIP包解压缩文件并插入表中

vnzz0bqm  于 2023-03-17  发布在  Oracle
关注(0)|答案(1)|浏览(148)

我在一个表中有一个.zip文件,我试图找出如何使用AS_ZIP包解压缩该文件。
我知道如何压缩使用该软件包,但我不知道如何解压缩,任何想法?

tkclm6bt

tkclm6bt1#

我已经设法解压缩一个zip文件从一个表,这是代码:

DECLARE
  v_doc BLOB;
  zip_files as_zip.file_list;
BEGIN
    SELECT FILE_CONTENT INTO v_doc FROM ZIPPED_FILES WHERE FILE_NAME ='Test.zip';
  zip_files  := as_zip.get_file_list( v_doc );
  FOR i IN zip_files.FIRST() .. zip_files.LAST
  LOOP
        --dbms_output.put_line(DBMS_LOB.SUBSTR(zip_files(i).filename,2000,1) ||' '|| TO_CHAR(zip_files(i).datemaj,'DD/MM/RRRR HH24:MI:SS') ||' size:'|| zip_files(i).size_comp ||' / '|| zip_files(i).size_uncomp);
    dbms_output.put_line( utl_raw.cast_to_varchar2( as_zip.get_file(v_doc, zip_files(i))));
  END LOOP;
END;

相关问题