ITPub博客

首页 > 数据库 > Oracle > BFile转为Blob

BFile转为Blob

原创 Oracle 作者:abstractcyj 时间:2015-05-12 15:07:46 0 删除 编辑
BFile实际上是Oracle数据库指向操作系统文件的一个指针。
一下是读取操作系统文件并转为BLOB的代码:


DECLARE
  v_bfile BFILE;
  v_blob  BLOB;
  v_dest  NUMBER := 1;
  v_lang  NUMBER := 1;
BEGIN
  v_bfile := bfilename('UPGRADE_DIR',
                       'HE5Q8565.JPG');
  --dbms_output.put_line(v_bfile);
  dbms_lob.createtemporary(v_blob, TRUE);
  dbms_lob.fileopen(v_bfile, dbms_lob.file_readonly);
  dbms_output.put_line(dbms_lob.getlength(v_bfile));
  dbms_lob.loadblobfromfile(dest_lob    => v_blob,
                            src_bfile   => v_bfile,
                            amount      => dbms_lob.getlength(v_bfile),
                            dest_offset => v_dest,
                            src_offset  => v_lang);


  UPDATE bfile_test SET detail = v_blob;


  dbms_lob.fileclose(file_loc => v_bfile);


END;

其中, UPGRADE_DIR是一个directory对象。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8520577/viewspace-1650530/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
曾从事java方向开发多年。近年已经转入数据库方向。主要擅长SQL优化,Oracle数据库问题诊断,Oracle备份与恢复等。服务于医药物流,医院等行业

注册时间:2010-01-26

  • 博文量
    602
  • 访问量
    1091625