DM数据库里插入二进制文件

       在数据库的实际应用中,多多少少会遇到各种存储图片的需求,比如商品图片、用户头像及图片材料等。目前业界存储图片有两种做法:第一种是图片存储在磁盘上,数据库字段中保存的是图片的路径。第二种是把图片直接以二进制形式存储在数据库中;一般数据库提供一个二进制字段来存储二进制数据。

1、创建测试的表

CREATE TABLE TEST_LOB (

T_ID INT NOT NULL,

T_IMAGE BLOB NOT NULL,

PRIMARY KEY(T_ID)

);

2、命令行的方式

2.1、插入图片

2.2、验证结果

3.1、插入图片

创建图片存放目录,并将需要插入到表里的图片放入该目录里,此处创建的IMAGES目录是虚拟路径,而不是物理路径;创建创建存储过程,FILENAME为图片的名字

---创建目录

CREATE DIRECTORY "IMAGES" as '/home/dmdba';

--存储过程

CREATE OR REPLACE PROCEDURE IMG_INSERT (

TID INT, 

FILENAME VARCHAR (200)

)

AS 

    F_LOB BFILE; 

   B_LOB BLOB; 

BEGIN 

  INSERT INTO TEST_LOB(T_ID,T_IMAGE) VALUES (TID,EMPTY_BLOB()) RETURN T_IMAGE INTO B_LOB; 

  F_LOB := BFILENAME('IMAGES',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;

--调用插入

CALL IMG_INSERT(2,'TEST.png');

 3.2、验证结果

达梦云适配中心:http://eco.dameng.com

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值