sql >> Databáze >  >> RDS >> Oracle

Jak rozbalit soubor v PL/SQL?

Ve svém předchozím příspěvku jsem uvedl příklad ZIP souboru pomocí PL/SQL v Oracle a v tomto příspěvku vysvětluji, jak extrahovat soubor ZIP nebo rozbalit soubor v PL/SQL pomocí stejného Alexandria PL /SQL balíček utility.

Podle těchto kroků rozbalte (extrahujte) soubor ZIP pomocí PL/SQL v Oracle

  1. Kliknutím na Stáhnout balíček Alexandria PL/SQL Utility Package nejprve stáhněte balíček.
  2. Potom rozbalte soubor ZIP a vyhledejte níže uvedené čtyři soubory v adresáři alexandria-plsql-utils-master\ora\:
  • zip_util_pkg.pks
  • zip_util_pkg.pkb
  • file_util_pkg.pks
  • file_util_pkg.pkb
  1. Nainstalujte tyto skripty do schématu Oracle Database Schema a pokud během instalace dojde k chybě kvůli chybějícímu objektu, vyhledejte je v adresáři alexandria-plsql-utils-master\extras a nainstalujte je.
  2. Nyní vytvořte v Oracle objekt adresáře pro umístění souborů ZIP, jak je znázorněno v příkladu níže.
Create OR Replace Directory UNZIP_FILES as 'c:\my_zip_files';

Nyní můžete extrahovat soubor ZIP pomocí PL/SQL, jak je znázorněno v příkladu níže.

Rozbalte soubor v příkladu 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;
/

Zkontrolujte umístění složky pro objekt adresáře UNZIP_FILES a najdete extrahované soubory.

Viz také:

  • Export dat do souboru Excel v Oracle
  • Vytvoření zprávy PDF pomocí PL/SQL
  1. Jak deklarovat proměnnou a používat ji ve stejném skriptu Oracle SQL?

  2. Jak zakázat všechny spouštěče v databázi SQL Server

  3. Jak cbrt() funguje v PostgreSQL

  4. Funkce SQL velmi pomalá ve srovnání s dotazem bez funkce wrapper