oracle 向表中插入BLOB类型数据

提示:
待插入图片必须保存到oracle主机路径上。

步骤:

1、SYSDBA权限用户创建图片所在目录

CREATE OR REPLACE DIRECTORY TEST_DIR AS 'C:Pictures'; -- 路径名 "TEST_DIR" 必须为大写
2、授权给操作用户(scott)

GRANT READ,WRITE ON DIRECTORY TEST_DIR TO SCOTT;
3、切换操作用户

4、创建插入图片表(若存在,忽略此步骤)

CREATE TABLE TEST01 (FNAME VARCHAR2(50),CONTENT BLOB);
5、插入图片(BLOB类型)
DECLARE  
	tempimg BLOB;  
	tempdir BFILE:=BFILENAME('TEST_DIR','1.jpg');  -- 从指定图片路径读1.jpg
	BEGIN  
	INSERT INTO TEST01 VALUES ('1.jpg',EMPTY_BLOB()) RETURNING CONTENT INTO TEMPIMG;  
	DBMS_LOB.FILEOPEN(tempdir);  
	DBMS_LOB.LOADFROMFILE(tempimg,tempdir,DBMS_LOB.GETLENGTH(tempdir));  
	DBMS_LOB.FILECLOSE(tempdir);  
	COMMIT;
END;

原文地址:https://www.cnblogs.com/archermeng/p/8587526.html