W moim poprzednim poście podałem przykład ZIP pliku przy użyciu PL/SQL w Oracle, a w tym poście wyjaśniam, jak rozpakować plik ZIP lub rozpakować plik w PL/SQL przy użyciu tego samego Alexandria PL Pakiet narzędzi /SQL.
Wykonaj te kroki, aby rozpakować (wyodrębnić) plik ZIP przy użyciu PL/SQL w Oracle
- Kliknij Pobierz pakiet narzędziowy Alexandria PL/SQL, aby najpierw pobrać pakiet.
- Następnie rozpakuj plik ZIP i zlokalizuj cztery wymienione poniżej pliki w katalogu alexandria-plsql-utils-master\ora\:
- zip_util_pkg.pks
- zip_util_pkg.pkb
- file_util_pkg.pks
- file_util_pkg.pkb
- Zainstaluj te skrypty w swoim schemacie bazy danych Oracle i podczas instalacji, jeśli wystąpi błąd z powodu braku obiektu, znajdź w katalogu alexandria-plsql-utils-master\extras i zainstaluj go.
- Teraz utwórz obiekt katalogu w Oracle dla lokalizacji plików ZIP, jak pokazano w poniższym przykładzie.
Create OR Replace Directory UNZIP_FILES as 'c:\my_zip_files';
Możesz teraz rozpakować plik ZIP za pomocą PL/SQL, jak pokazano w poniższym przykładzie.
Rozpakuj plik w przykładzie 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;
/ Sprawdź lokalizację folderu dla obiektu katalogu UNZIP_FILES, a znajdziesz rozpakowane pliki.
Zobacz też:
- Eksportuj dane do pliku Excel w Oracle
- Utwórz raport PDF za pomocą PL/SQL