In mijn vorige bericht heb ik een voorbeeld gegeven om een ZIP-bestand te zippen met PL/SQL in Oracle, en in dit bericht leg ik uit hoe je een ZIP-bestand uitpakt, of een bestand uitpakt in PL/SQL met dezelfde Alexandria PL /SQL-hulpprogrammapakket.
Volg deze stappen om een ZIP-bestand uit te pakken (uitpakken) met PL/SQL in Oracle
- Klik op Download het Alexandria PL/SQL-hulpprogrammapakket om het pakket eerst te downloaden.
- Pak vervolgens het ZIP-bestand uit en zoek de onderstaande vier bestanden op in de directory alexandria-plsql-utils-master\ora\:
- zip_util_pkg.pks
- zip_util_pkg.pkb
- file_util_pkg.pks
- file_util_pkg.pkb
- Installeer deze scripts in uw Oracle Database Schema en als er tijdens de installatie een fout optreedt vanwege een ontbrekend object, zoek dan in de directory alexandria-plsql-utils-master\extras en installeer het.
- Maak nu een directory-object in Oracle voor de locatie van uw ZIP-bestanden, zoals in onderstaand voorbeeld.
Create OR Replace Directory UNZIP_FILES as 'c:\my_zip_files';
U kunt nu een ZIP-bestand uitpakken met PL/SQL, zoals in onderstaand voorbeeld.
Een bestand uitpakken in PL/SQL-voorbeeld
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;
/ Controleer de maplocatie voor het UNZIP_FILES-mapobject en u zult de uitgepakte bestanden vinden.
Zie ook:
- Gegevens exporteren naar Excel-bestand in Oracle
- PDF-rapport maken met PL/SQL