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