plsql 读取blob为图片

由于去客户现场采集的图片  需要回来识别  所以需要 从数据库读取blob转为图片。

参考了 别人的博客  成功实现了  做个笔记

下面是代码。



1.创建文件夹变量

create or replace directory MYDIR as 'D:\tang'

2.赋权限

grant read,write on directory MYDIR to user01

3.执行read_blob_pic过程

exec  read_blob_pic;

代码如下:

create or replace procedure read_blob_pic is
  l_file utl_file.file_type;
  l_lob blob;
  l_offset int:= 1;
  l_amount int:= 32767;
  l_len int;
  l_buffer raw(32767);
begin
  select decode_image  into l_lob from BAG_VALIDATE t where bag_validate_id = 4863;
  l_file:= utl_file.fopen('MYDIR', 'blood.jpg', 'wb', 32767);
  l_len:= dbms_lob.getlength(l_lob);
  while l_offset< l_len loop
    dbms_lob.read(l_lob, l_amount, l_offset, l_buffer);
    utl_file.put_raw(l_file, l_buffer, true);
    l_offset:= l_offset+ l_amount;
  end loop;
  utl_file.fclose(l_file);
end read_blob_pic;
如有不对 请见谅  感恩!那些无私分享的大神!
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值