Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie entpacke ich eine Datei in PL/SQL?

In meinem vorherigen Beitrag habe ich ein Beispiel gegeben, um eine Datei mit PL/SQL in Oracle zu komprimieren, und in diesem Beitrag erkläre ich, wie man eine ZIP-Datei extrahiert oder eine Datei in PL/SQL mit demselben Alexandria PL entpackt /SQL-Dienstprogrammpaket.

Befolgen Sie diese Schritte zum Entpacken (Extrahieren) einer ZIP-Datei mit PL/SQL in Oracle

  1. Klicken Sie auf Download the Alexandria PL/SQL Utility Package, um das Paket zuerst herunterzuladen.
  2. Extrahieren Sie dann die ZIP-Datei und suchen Sie die unten genannten vier Dateien im Verzeichnis alexandria-plsql-utils-master\ora\:
  • zip_util_pkg.pks
  • zip_util_pkg.pkb
  • file_util_pkg.pks
  • file_util_pkg.pkb
  1. Installieren Sie diese Skripts in Ihrem Oracle-Datenbankschema und suchen Sie während der Installation im Verzeichnis alexandria-plsql-utils-master\extras, wenn ein Fehler aufgrund eines fehlenden Objekts auftritt, und installieren Sie es.
  2. Erstellen Sie nun ein Verzeichnisobjekt in Oracle für den Speicherort Ihrer ZIP-Dateien, wie im folgenden Beispiel gezeigt.
Create OR Replace Directory UNZIP_FILES as 'c:\my_zip_files';

Sie können jetzt eine ZIP-Datei mit PL/SQL extrahieren, wie im folgenden Beispiel gezeigt.

Entpacken Sie eine Datei in einem PL/SQL-Beispiel

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;
/

Überprüfen Sie den Speicherort des Ordners für das Verzeichnisobjekt UNZIP_FILES und Sie werden die extrahierten Dateien finden.

Siehe auch:

  • Exportieren Sie Daten in eine Excel-Datei in Oracle
  • PDF-Bericht mit PL/SQL erstellen