往Oracle数据库插入图形文件blob
Jun 07, 2016 pm 05:07 PMcreate table Image_lob(t_id varchar2(5),t_image blob); create or replace directory images as
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;

熱門文章

熱門文章

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)