I mit tidligere indlæg har jeg givet et eksempel på at ZIP en fil ved hjælp af PL/SQL i Oracle, og i dette indlæg forklarer jeg, hvordan man udpakker en ZIP-fil eller udpakker en fil i PL/SQL ved hjælp af den samme Alexandria PL /SQL hjælpepakke.
Følg disse trin for at udpakke (udpakke) en ZIP-fil ved hjælp af PL/SQL i Oracle
- Klik på Download the Alexandria PL/SQL Utility Package for at downloade pakken først.
- Udtræk derefter ZIP-filen, og find nedenstående fire filer i mappen alexandria-plsql-utils-master\ora\:
- zip_util_pkg.pks
- zip_util_pkg.pkb
- file_util_pkg.pks
- file_util_pkg.pkb
- Installer disse scripts i dit Oracle-databaseskema, og under installationen, hvis der er en fejl på grund af manglende objekt, skal du finde i alexandria-plsql-utils-master\extras-biblioteket og installere det.
- Opret nu et biblioteksobjekt i Oracle til din ZIP-filplacering, som vist i nedenstående eksempel.
Create OR Replace Directory UNZIP_FILES as 'c:\my_zip_files';
Du kan nu udpakke en ZIP-fil ved hjælp af PL/SQL, som vist i nedenstående eksempel.
Udpak en fil i PL/SQL-eksempel
DECLARE
fl zip_util_pkg.t_file_list;
l_file BLOB;
BEGIN
/* specify the directory object and your ZIP file to get_file_list function */
fl := zip_util_pkg.get_file_list ('UNZIP_FILES', 'plsql_3.zip');
IF fl.COUNT () > 0
THEN
FOR i IN fl.FIRST .. fl.LAST
LOOP
l_file := zip_util_pkg.GET_FILE ('UNZIP_FILES', 'plsql_3.zip', fl (i));
file_util_pkg.save_blob_to_file ('UNZIP_FILES', fl (i), l_file);
END LOOP;
END IF;
END;
/ Tjek mappeplaceringen for UNZIP_FILES biblioteksobjekt, og du vil finde de udpakkede filer.
Se også:
- Eksporter data til Excel-fil i Oracle
- Opret PDF-rapport ved hjælp af PL/SQL