Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

पीएल/एसक्यूएल में फाइल को ज़िप कैसे करें?

इस ब्लॉग पोस्ट में, मैं पीएल/एसक्यूएल में एक फाइल को ज़िप करने के लिए एक उदाहरण दे रहा हूं। मैं इस कार्य को करने के लिए अलेक्जेंड्रिया पीएल/एसक्यूएल यूटिल लाइब्रेरी का उपयोग कर रहा हूं। उसी पुस्तकालय का उपयोग मैंने Oracle डेटाबेस तालिका से एक्सेल में निर्यात डेटा के उदाहरण के लिए किया था। Oracle में PL/SQL का उपयोग करके ज़िप फ़ाइल बनाने के लिए इन चरणों का पालन करें।

PL/SQL का उपयोग करके Oracle में एक ज़िप फ़ाइल बनाएं

  1. सबसे पहले, निम्न लिंक डाउनलोड का उपयोग करके जीथब से अलेक्जेंड्रिया पीएल/एसक्यूएल लाइब्रेरी डाउनलोड करें।
  2. फ़ाइल डाउनलोड करने के बाद, इसे निकालें और zip_util_pkg.pks और zip_util_pkg.pkb का पता लगाएं \alexandria-plsql-utils-master\ora\ . में फ़ाइलें निर्देशिका और इन स्क्रिप्ट को अपने Oracle डेटाबेस स्कीमा में स्थापित करने के लिए निष्पादित करें।
  3. यदि किसी समर्थित ऑब्जेक्ट की आवश्यकता है, तो \alexandria-plsql-utils-master\ फ़ोल्डर में ढूंढें और इसे इंस्टॉल करें।
  4. आपने उपयोगिता पैकेज और संबंधित वस्तुओं को स्थापित किया है। अब अपने स्कीमा में एक डायरेक्टरी ऑब्जेक्ट बनाएं, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है।
निर्देशिका बनाएं या बदलें zip_files 'सी:\zip_files' के रूप में;
  1. फिर फ़ाइल को BLOB में बदलने के लिए उसी स्कीमा में निम्न फ़ंक्शन बनाएं। इस फ़ंक्शन का उपयोग PL/SQL zip_util_pkg पैकेज का उपयोग करके एक ज़िप फ़ाइल बनाने के लिए किया जाएगा। यह भी ध्यान दें, कि इस फ़ंक्शन को बनाने से पहले ZIP_FILES बदलें आपके डेटाबेस निर्देशिका ऑब्जेक्ट के साथ निर्देशिका नाम जिसे आपने ऊपर बनाया है।
फ़ंक्शन बनाएं या बदलें file_to_blob (p_file_name VARCHAR2)RETURN 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 (_LOBloc., DBWRIMS);DBMS_LOB., DBWRIMS; .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;/परीक्षा 

नोट: निम्नलिखित उदाहरण में, फ़ाइल emp.dat हमारे द्वारा ऊपर बनाई गई ZIP_FILES निर्देशिका में मौजूद होनी चाहिए।

DECLARel_file1 BLOB;l_zip BLOB;BEGIN/* emp.dat 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);/* यह ZIP_FILES निर्देशिका में plsql_1.zip नाम की ज़िप फ़ाइल बनाएगा */zip_util_pkg.save_zip (l_zip, ' ZIP_FILES ', 'plsql_1.zip');END;/

अब आप plsql_1.zip फ़ाइल के लिए ZIP_FILES निर्देशिका के स्थान की जांच कर सकते हैं।

एकाधिक फ़ाइलों को ज़िप करने के लिए

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.dat');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;/

यह भी देखें:

  • पीएल/एसक्यूएल में फ़ाइल को अनज़िप करें
  • PL/SQL का उपयोग करके Oracle 11g में JSON फ़ाइल बनाएं
  • Oracle SQL डेवलपर से Excel में डेटा निर्यात करें
  • पीएल/एसक्यूएल का उपयोग करके पीडीएफ फाइलें बनाएं

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं Oracle जावा अपडेट तक जल्दी पहुंच कैसे प्राप्त कर सकता हूं, ताकि जब ये अपडेट सार्वजनिक हो जाएं तो मैं अपने आरआईए का परीक्षण कर सकूं और फायर-ड्रिल से बच सकूं?

  2. निर्धारित करें कि ओरेकल की तारीख सप्ताहांत पर है या नहीं?

  3. एसक्यूएल क्वेरी दो संबंधित तालिकाओं के बीच लापता पंक्तियों को खोजने के लिए

  4. SQL त्रुटि:ORA-02000:पहचान कॉलम आधारित तालिका बनाते समय हमेशा कीवर्ड गुम होना

  5. ओरेकल इंडेक्स और ओरेकल में इंडेक्स के प्रकार उदाहरण के साथ