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

पीएल/एसक्यूएल में फाइल से बीएलओबी कैसे प्राप्त करें?

नीचे मैं पीएल/एसक्यूएल में फ़ाइल से बीएलओबी प्राप्त करने के लिए एक फ़ंक्शन उदाहरण दे रहा हूं।

फ़ाइल से BLOB प्राप्त करने के लिए

PL/SQL फ़ंक्शन

निम्न फ़ंक्शन एक फ़ाइल को पढ़ेगा और फ़ाइल का BLOB डेटा प्रकार लौटाएगा। फ़ंक्शन GET_BLOB दो पैरामीटर लेता है:(1) Oracle निर्देशिका ऑब्जेक्ट नाम (2) फ़ाइल नाम।

CREATE OR REPLACE FUNCTION get_blob (i_dir IN VARCHAR2, i_file IN VARCHAR2)
   RETURN BLOB
AS
   l_bfile   BFILE;
   l_blob    BLOB;
BEGIN
   DBMS_LOB.createtemporary (l_blob, FALSE);
   l_bfile := BFILENAME (i_dir, i_file);
   DBMS_LOB.fileopen (l_bfile, DBMS_LOB.file_readonly);
   DBMS_LOB.loadfromfile (l_blob, l_bfile, DBMS_LOB.getlength (l_bfile));
   DBMS_LOB.fileclose (l_bfile);

   RETURN l_blob;
EXCEPTION
   WHEN OTHERS
   THEN
      IF DBMS_LOB.fileisopen (l_bfile) = 1
      THEN
         DBMS_LOB.fileclose (l_bfile);
      END IF;

      DBMS_LOB.freetemporary (l_blob);
      RAISE;
END get_blob;

परीक्षा

मान लीजिए आपके पास C:\Pics फ़ोल्डर में myimage.jpg फ़ाइल है, तो Oracle निर्देशिका ऑब्जेक्ट बनाएं, उदाहरण के लिए, फ़ोल्डर C:\Pics के लिए MY_PICS और निर्देशिका नाम MY_PICS और फ़ाइल नाम myimage.jpg पास करके नीचे दिए गए फ़ंक्शन को कॉल करें। . यदि आप नहीं जानते कि Oracle में निर्देशिका ऑब्जेक्ट कैसे बनाया जाता है, तो इस लिंक को देखें:Oracle निर्देशिका ऑब्जेक्ट बनाएँ।

DECLARE
   f_blob   BLOB;
BEGIN
   f_blob := get_blob ('MY_PICS', 'myimage.jpg');
END;

अब आपके पास myimage.jpg फ़ाइल का BLOB चर f_blob में है।

यह भी देखें:

  • Oracle डेटाबेस में फ़ाइल कैसे डालें?

  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 SQL कॉलम प्रकार को संख्या से varchar2 में बदलने के लिए, जबकि इसमें डेटा होता है

  2. Oracle-ADF एप्लिकेशन को Tomcat 7 पर तैनात करने का प्रयास कर रहा है

  3. संघ और CLOB फ़ील्ड के साथ चयन का उपयोग करते समय त्रुटि ORA-00932

  4. Oracle तालिका में डेटा आयात करने के लिए PL/SQL प्रक्रिया ऑनलाइन उत्पन्न करें

  5. समवर्ती प्रबंधक में अनुरोध सेट