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
- Haga clic en Descargar el paquete de utilidades PL/SQL de Alexandria para descargar el paquete primero.
- 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
- 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.
- 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