往Oracle資料庫插入圖形檔案blob

來源:互聯網
上載者:User

create table Image_lob(t_id varchar2(5),t_image blob);

create or replace directory images as 'E:\image';

SELECT * FROM Image_lob;

create or replace procedure ima_insert(tid varchar2, filename varchar2,v_path varchar2) as

f_lob bfile;--檔案類型

b_lob blob;

v_sql  varchar2(4000);

begin

 -- v_path := '''d:\temp\pic''';

  v_sql := 'create or replace directory IMAGES_BAK  as '||v_path; --路徑必須是大小寫,oracle對這個是敏感的

  dbms_output.put_line(v_sql);

  execute immediate v_sql;

  insert into image_lob(t_id,t_image) values(tid,empty_blob())return t_image into b_lob;

  --插入空的blob

  f_lob := bfilename('IMAGES_BAK',filename);

  --擷取指定目錄下的檔案

  dbms_lob.fileopen(f_lob,dbms_lob.file_readonly);

  --以唯讀方式開啟檔案

  dbms_lob.loadfromfile(b_lob,f_lob,dbms_lob.getlength(f_lob));

  --傳遞對象

  dbms_lob.fileclose(f_lob);

  --關閉原始檔案

  commit;

  end;

  

  declare

  begin

    ima_insert('2','1.jpg','''E:\image''');  --這裡是三個 '

    end;

    

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.