Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana cara ZIP File di PL/SQL?

Dalam posting blog ini, saya memberikan contoh file ZIP dalam PL/SQL. Saya menggunakan Alexandria PL/SQL Util Library untuk melakukan tugas ini. Pustaka yang sama yang saya gunakan untuk contoh mengekspor data ke Excel dari tabel Oracle Database. Ikuti langkah-langkah ini untuk membuat file ZIP menggunakan PL/SQL di Oracle.

Membuat File ZIP di Oracle Menggunakan PL/SQL

  1. Pertama, unduh pustaka Alexandria PL/SQL dari Github menggunakan tautan Unduh berikut.
  2. Setelah mengunduh file, ekstrak dan cari zip_util_pkg.pks dan zip_util_pkg.pkb file di \alexandria-plsql-utils-master\ora\ direktori dan jalankan skrip ini di Skema Database Oracle Anda untuk menginstalnya.
  3. Jika diperlukan objek yang didukung, cari di folder \alexandria-plsql-utils-master\ dan instal.
  4. Anda telah menginstal paket utilitas dan objek terkait. Sekarang buat objek direktori dalam skema Anda, seperti yang ditunjukkan pada contoh di bawah ini.
Buat ATAU Ganti Direktori zip_files sebagai 'c:\zip_files';
  1. Kemudian buat fungsi di bawah ini dalam Skema yang sama untuk mengonversi file menjadi BLOB. Fungsi ini akan digunakan untuk membuat file Zip menggunakan paket PL/SQL zip_util_pkg. Perhatikan juga, bahwa sebelum membuat fungsi ini ubah ZIP_FILES nama direktori dengan objek direktori database yang Anda buat di atas.
BUAT ATAU GANTI FUNGSI file_to_blob (p_file_name VARCHAR2) KEMBALI BLOBASdest_loc BLOB :=EMPTY_BLOB ();src_loc BFILE :=BFILENAME ('ZIP_FILES ', p_file_name);BEGINDBMS_LOB.OPEN (src_loc, DBMS_LOB.LOB_READONLY);DBMS_LOB.CREATETEMPORARY (lob_loc => dest_loc,cache => TRUE,dur => DBMS_LOB.session);DBMS_LOB.OPEN (dest_LOB.LODB); .LOADFROMFILE (dest_lob => dest_loc,src_lob => src_loc,amount => DBMS_LOB.getLength (src_loc));DBMS_LOB.CLOSE (dest_loc);DBMS_LOB.CLOSE (src_loc);RETURN dest_loc;END file_to_blob;/Uji 

Catatan: Pada contoh berikut, file emp.dat harus ada di direktori ZIP_FILES yang kita buat di atas.

DECLAREl_file1 BLOB;l_zip BLOB;BEGIN/* emp.dat harus berada di lokasi direktori ZIP_FILES */l_file1 :=file_to_blob ('emp.dat ');zip_util_pkg.add_file (l_zip, 'emp.dat', l_file1);zip_util_pkg.finish_zip (l_zip);/* itu akan membuat file zip bernama plsql_1.zip di direktori ZIP_FILES */zip_util_pkg.save_zip (l_zip, ' ZIP_FILES ', 'plsql_1.zip');END;/

Sekarang Anda dapat memeriksa lokasi direktori ZIP_FILES untuk file plsql_1.zip.

Untuk ZIP Beberapa File

DECLAREl_file1 BLOB;l_file2 BLOB;l_zip BLOB;BEGINl_file1 :=file_to_blob ('emp.dat');l_file2 :=file_to_blob ('scott.sql');zip_util_pkg.add_file (l_zip, 'emp_file1);zip_util_pkg.add_file (l_zip, 'scott.sql', l_file2);zip_util_pkg.finish_zip (l_zip);zip_util_pkg.save_zip (l_zip, 'ZIP_FILES ', 'plsql_3.zip');END;/

Lihat juga:

  • Unzip File di PL/SQL
  • Buat File JSON di Oracle 11g Menggunakan PL/SQL
  • Ekspor Data Dari Pengembang Oracle SQL ke Excel
  • Membuat File PDF Menggunakan PL/SQL

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Metode Pengumpulan:Prosedur HAPUS Dalam Database Oracle

  2. Nomor Oracle ke C# desimal

  3. Mengapa klausa Oracle IN memiliki batas 1000 hanya untuk data statis?

  4. desimal(s,p) atau angka(s,p)?

  5. Hash bergabung di Oracle dengan contoh