BFILENAME returns a BFILE locator that is associated with a physical LOB binary file on the server file system.
This function finds out whether a BFILE was opened with the given FILE locator.
Syntax
DBMS_LOB.FILEISOPEN ( file_loc IN BFILE) RETURN INTEGER;[@more@]LOADFROMFILE Procedure
This procedure copies all, or a part of, a source external
LOB(BFILE) to a destination internalLOB.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');
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16298743/viewspace-1044587/ ,如需转载,请注明出处,否则将追究法律责任。