以前の投稿では、OracleでPL / SQLを使用してファイルをZIPする例を示しました。この投稿では、ZIPファイルを抽出する方法、または同じAlexandriaPLを使用してPL/SQLでファイルを解凍する方法を説明しています。 /SQLユーティリティパッケージ。
これらの手順に従って、OracleでPL / SQLを使用してZIPファイルを解凍(抽出)します
- 「AlexandriaPL/SQLユーティリティ・パッケージのダウンロード」をクリックして、最初にパッケージをダウンロードします。
- 次に、ZIPファイルを抽出し、alexandria-plsql-utils-master \ora\ディレクトリで以下の4つのファイルを見つけます。
- zip_util_pkg.pks
- zip_util_pkg.pkb
- file_util_pkg.pks
- file_util_pkg.pkb
- これらのスクリプトをOracleデータベーススキーマにインストールし、インストール中にオブジェクトが見つからないためにエラーが発生した場合は、alexandria-plsql-utils-master\extrasディレクトリで見つけてインストールします。
- 次に、以下の例に示すように、ZIPファイルの場所用にOracleでディレクトリオブジェクトを作成します。
Create OR Replace Directory UNZIP_FILES as 'c:\my_zip_files';
以下の例に示すように、PL/SQLを使用してZIPファイルを抽出できるようになりました。
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;
/ UNZIP_FILESディレクトリオブジェクトのフォルダの場所を確認すると、抽出されたファイルが見つかります。
関連項目:
- OracleのExcelファイルにデータをエクスポートする
- PL/SQLを使用してPDFレポートを作成する