Oracle
 sql >> Database >  >> RDS >> Oracle

Come decomprimere un file in PL/SQL?

Nel mio post precedente, ho fornito un esempio per ZIP un file usando PL/SQL in Oracle e in questo post sto spiegando come estrarre un file ZIP o decomprimere un file in PL/SQL usando lo stesso Alexandria PL /Pacchetto di utilità SQL.

Seguire questi passaggi per decomprimere (estrarre) un file ZIP utilizzando PL/SQL in Oracle

  1. Fare clic su Download the Alexandria PL/SQL Utility Package per scaricare prima il pacchetto.
  2. Quindi estrai il file ZIP e individua i quattro file sotto indicati nella directory alexandria-plsql-utils-master\ora\:
  • zip_util_pkg.pks
  • zip_util_pkg.pkb
  • file_util_pkg.pks
  • file_util_pkg.pkb
  1. Installa questi script nello schema del database Oracle e durante l'installazione, se si verifica un errore dovuto a un oggetto mancante, trova nella directory alexandria-plsql-utils-master\extras e installalo.
  2. Ora crea un oggetto directory in Oracle per la posizione dei tuoi file ZIP, come mostrato nell'esempio seguente.
Create OR Replace Directory UNZIP_FILES as 'c:\my_zip_files';

Ora puoi estrarre un file ZIP utilizzando PL/SQL, come mostrato nell'esempio seguente.

Decomprimi un file nell'esempio PL/SQL

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

Controlla la posizione della cartella per l'oggetto directory UNZIP_FILES e troverai i file estratti.

Vedi anche:

  • Esporta dati su file Excel in Oracle
  • Crea report PDF utilizzando PL/SQL