ITPub博客

首页 > 数据库 > Oracle > blob图片处理

blob图片处理

原创 Oracle 作者:cbso520 时间:2011-01-13 10:23:32 0 删除 编辑

BFILENAME

BFILENAME returns a BFILE locator that is associated with a physical LOB binary file on the server file system.

FILEISOPEN Function

This function finds out whether a BFILE was opened with the given FILE locator.

Syntax

DBMS_LOB.FILEISOPEN (
   file_loc   IN    BFILE)
  RETURN INTEGER; 

LOADFROMFILE Procedure

This procedure copies all, or a part of, a source external LOB (BFILE) to a destination internal LOB.

Syntax

DBMS_LOB.LOADFROMFILE (
   dest_lob    IN OUT NOCOPY BLOB, 
   src_file    IN            BFILE, 
   amount      IN            INTEGER, 
   dest_offset IN            INTEGER  := 1, 
   src_offset  IN            INTEGER  := 1);
用这三个东东就可以把图片加载入oracle存储为BLOB了。
存储过程如下:
CREATE OR REPLACE PROCEDURE PROC_IMG_INSERT(ID VARCHAR2, FILENAME VARCHAR2) AS
F_LOB BFILE;
B_LOB BLOB;
--add photoes from directory
BEGIN
INSERT INTO monad.pic(idcard,xp)
VALUES
(ID, EMPTY_BLOB()) RETURN xp INTO B_LOB;
F_LOB := BFILENAME('DUMP', 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;
执行存储过程:
EXECUTE PROC_IMG_INSERT('1','1.GIF');
[@more@]

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

上一篇: RAC实验结果
下一篇: 锻炼、锻炼
请登录后发表评论 登录
全部评论

注册时间:2008-11-12

  • 博文量
    72
  • 访问量
    312697