以前の投稿では、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レポートを作成する