往oracle里加图片,在Oracle数据库的表中插入图片的方法

1、创建表,注意:插入图片的列要定义成BLOB类型

create table image_lob(t_id varchar2(5) not null,t_imageblob not null);

2、创建图片目录,images为目录名

create or replace directory "images" as'f:\pic\'; --创建存储图片的目录

grantcreate any directory to scott  --如果需要,为scott用户授权!

3、创建存储过程,filename为图片的名字,如‘cat.jpg’

create or replace procedure img_insert(tid varchar2,filenamevarchar2)as

f_lob bfile;

b_lob blob;

begin

insert into image_lob(t_id,t_image)

values(tid,empty_blob())return t_image into b_lob; --插入空的blobf_lob:=bfilename('images',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;

/

4、执行上面的存储过程,实现图片的插入

exec img_insert('1','cat.jpg');

5、查看表

select * from image_lob;

practice:

1. create table image_lob(t_id varchar2(5)not null,t_image blob not null);

2. create or replace directory"images" as 'd:\pic\';

3.

create or replace procedureimg_insert(tid varchar2,filename varchar2)as

f_lob bfile;

b_lob blob;

begin

insert into image_lob(t_id,t_image)

values(tid,empty_blob())return t_image into b_lob;

f_lob:=bfilename('images',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;

4. exec img_insert('1','1.jpg'); 5.

select * fromimage_lob

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值