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

Oracle में BLOB ऑब्जेक्ट के साथ कार्य करें

चूंकि UTL_ENCODE.BASE64_ENCODE फ़ंक्शन RAW पर काम करता है, यह PL/SQL में 32767 बाइट्स तक BLOB के साथ काम करेगा या SQL में 4000 बाइट्स।

यदि आपकी छवियां बड़ी हैं, तो आपको अपना स्वयं का कार्य लिखना होगा। यहां एक उदाहरण दिया गया है:

CREATE OR REPLACE FUNCTION base64_encode_blob (p BLOB) RETURN BLOB IS
   l_raw    RAW(24573);
   l_base64 RAW(32767);
   l_result BLOB;
   l_offset NUMBER := 1;
   l_amount NUMBER := 24573;
BEGIN
   DBMS_LOB.createtemporary(l_result, FALSE);
   DBMS_LOB.open(l_result, DBMS_LOB.lob_readwrite);
   LOOP
      DBMS_LOB.read(p, l_amount, l_offset, l_raw);
      l_offset := l_offset + l_amount;
      l_base64 := utl_encode.base64_encode(l_raw);
      DBMS_LOB.writeappend(l_result, utl_raw.length(l_base64), l_base64);
   END LOOP;
EXCEPTION
   WHEN NO_DATA_FOUND THEN
      RETURN l_result;
END;
/


  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 स्थानीय होस्ट कनेक्शन त्रुटि (ORA-12505)

  2. Sql:क्लॉज के बीच ऑप्टिमाइज़ करना

  3. Oracle SQL Regexp_replace मिलान

  4. कॉलम के औसत की गणना कैसे करें और फिर इसे ऑरैकल में एक चुनिंदा क्वेरी में शामिल करें?

  5. इसके लिए डुप्लीकेट परिभाषा:'पहचान प्रकार'