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

BLOB Oracle 10g . में छवि सम्मिलित करना

आप pl/sql से स्थानीय निर्देशिका तक नहीं पहुँच सकते। यदि आप bfile का उपयोग करते हैं, तो आप उस सर्वर पर एक निर्देशिका (निर्देशिका बनाएँ) सेट करेंगे जहाँ Oracle चल रहा है जहाँ आपको अपनी छवियों को रखने की आवश्यकता होगी।

यदि आप अपनी स्थानीय मशीन से कुछ छवियों को सम्मिलित करना चाहते हैं, तो ऐसा करने के लिए आपको क्लाइंट साइड ऐप की आवश्यकता होगी। आप अपना खुद का लिख ​​सकते हैं, लेकिन मैं आमतौर पर इसके लिए टॉड का उपयोग करता हूं। स्कीमा ब्राउज़र में, टेबल पर क्लिक करें। डेटा टैब पर क्लिक करें, और एक पंक्ति जोड़ने के लिए + चिह्न दबाएं। BLOB कॉलम पर डबल क्लिक करें, और एक विजार्ड खुलता है। सबसे बाईं ओर का आइकन एक छवि को ब्लॉब में लोड करेगा:

SQL डेवलपर में एक समान सुविधा है। नीचे "लोड" लिंक देखें:

यदि आपको तार पर चित्र खींचने की आवश्यकता है, तो आप इसे pl/sql का उपयोग करके कर सकते हैं, लेकिन यह सीधे आगे नहीं है। सबसे पहले, आपको उपयोगकर्ता को तार खींचने की अनुमति देने के लिए एसीएल सूची पहुंच (सुरक्षा कारणों से) सेट अप करने की आवश्यकता होगी। एसीएल सेटअप पर अधिक जानकारी के लिए यह लेख देखें।

मान लें कि ACL पूरा हो गया है, तो आप इमेज को इस तरह खींचेंगे:

declare
    l_url varchar2(4000) := 'http://www.oracleimg.com/us/assets/12_c_navbnr.jpg';
    l_http_request   UTL_HTTP.req;
    l_http_response  UTL_HTTP.resp;
    l_raw RAW(2000);
    l_blob BLOB;
begin
   -- Important: setup ACL access list first!

    DBMS_LOB.createtemporary(l_blob, FALSE);

    l_http_request  := UTL_HTTP.begin_request(l_url);
    l_http_response := UTL_HTTP.get_response(l_http_request);

  -- Copy the response into the BLOB.
  BEGIN
    LOOP
      UTL_HTTP.read_raw(l_http_response, l_raw, 2000);
      DBMS_LOB.writeappend (l_blob, UTL_RAW.length(l_raw), l_raw);
    END LOOP;
  EXCEPTION
    WHEN UTL_HTTP.end_of_body THEN
      UTL_HTTP.end_response(l_http_response);
  END;

  insert into my_pics (pic_id, pic) values (102, l_blob);
  commit;

  DBMS_LOB.freetemporary(l_blob); 
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. ADDM टास्क कैसे बनाएं और उसकी रिपोर्ट कैसे चेक करें

  2. सरल Oracle क्वेरी:शाब्दिक प्रारूप स्ट्रिंग से मेल नहीं खाता

  3. oci8.so को Ubuntu सर्वर 17.04 php 7 और apache2 के साथ लोड करने में त्रुटि

  4. Oracle.DataAccess विजुअल स्टूडियो 2013 में चयन के लिए उपलब्ध नहीं है

  5. Oracle में NLSSORT () फ़ंक्शन