sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo DESCOMPRIMIR un archivo en PL/SQL?

En mi publicación anterior, di un ejemplo para comprimir un archivo usando PL/SQL en Oracle, y en esta publicación explico cómo extraer un archivo ZIP o descomprimir un archivo en PL/SQL usando el mismo Alexandria PL Paquete de utilidades /SQL.

Siga estos pasos para descomprimir (extraer) un archivo ZIP utilizando PL/SQL en Oracle

  1. Haga clic en Descargar el paquete de utilidades PL/SQL de Alexandria para descargar el paquete primero.
  2. Luego, extraiga el archivo ZIP y localice los cuatro archivos mencionados a continuación en el directorio alexandria-plsql-utils-master\ora\:
  • zip_util_pkg.pks
  • zip_util_pkg.pkb
  • archivo_util_pkg.pks
  • archivo_util_pkg.pkb
  1. Instale estos scripts en su esquema de base de datos de Oracle y, durante la instalación, si hay un error debido a que falta un objeto, busque en el directorio alexandria-plsql-utils-master\extras e instálelo.
  2. Ahora cree un objeto de directorio en Oracle para la ubicación de sus archivos ZIP, como se muestra en el siguiente ejemplo.
Create OR Replace Directory UNZIP_FILES as 'c:\my_zip_files';

Ahora puede extraer un archivo ZIP usando PL/SQL, como se muestra en el siguiente ejemplo.

Descomprimir un archivo en el ejemplo de 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;
/

Compruebe la ubicación de la carpeta para el objeto de directorio UNZIP_FILES y encontrará los archivos extraídos.

Ver también:

  • Exportar datos a un archivo de Excel en Oracle
  • Crear informe en PDF usando PL/SQL