SQL> drop table IMAGE_LOB;

表已丢弃。

SQL> CREATE TABLE IMAGE_LOB (

2  T_ID VARCHAR2 (5) NOT NULL,

3  T_IMAGE BLOB NOT NULL

4  );

表已创建。

SQL> CREATE OR REPLACE DIRECTORY IMAGES AS 'C:/Inetpub/wwwroot';

目录已创建。

SQL> CREATE OR REPLACE PROCEDURE IMG_INSERT (

2  TID           VARCHAR2,

3  FILENAME      VARCHAR2) AS

4     F_LOB   BFILE;

5     B_LOB   BLOB;

6   BEGIN

7       INSERT INTO IMAGE_LOB (T_ID, T_IMAGE) VALUES (TID,

8  EMPTY_BLOB ()) RETURN T_IMAGE INTO B_LOB;

9       F_LOB:= BFILENAME ('IMAGES', FILENAME);

10       DBMS_LOB.FILEOPEN (F_LOB, DBMS_LOB.FILE_READONLY);

11       DBMS_LOB.LOADFROMFILE (B_LOB, F_LOB,

12  DBMS_LOB.GETLENGTH (F_LOB));

13       DBMS_LOB.FILECLOSE (F_LOB);

14       COMMIT;

15   END;

16  /

过程已创建。

SQL> BEGIN

2      IMG_INSERT('1','win2000.gif');

3   END;

4  /

PL/SQL 过程已成功完成。

SQL> select length(t_image) from image_lob where t_id='1';

LENGTH(T_IMAGE)

---------------

4670

//先建立表 lob_example1

create table lob_example1(

id number(6) primary key,

name varchar2(10),

resume clob

);

//插入数据

insert into lob_example1 values(1,'猪',empty_clob());

insert into lob_example1 values(2,'狗',empty_clob());

commit;

//创建目录

CREATE OR REPLACE DIRECTORY DOCS AS 'C:/';

//创建将文件内容写入数据库CLOB的存储过程

CREATE OR REPLACE PROCEDURE update_doc(

t_id  number,

filename varchar2

)

as

lobloc clob;

fileloc bfile;

amount int;

src_offset int:=1;

dest_offset int:=1;

csid int:=0;

lc  int:=0;

warning int;

begin

fileloc:=bfilename('DOCS',filename);

dbms_lob.fileopen(fileloc,0);

amount:=dbms_lob.getlength(fileloc);

select resume into lobloc from lob_example1

where id=t_id for update;

dbms_lob.loadclobfromfile(lobloc,fileloc,amount,dest_offset,src_offset,csid,lc,warning);

dbms_lob.fileclose(fileloc);

commit;

end;

//调用存储过程,把文件读入数据库CLOB中

call update_doc(1,'aa.csv');

call update_doc(2,'bb.csv');

//察看id是2和1的行中文件大小

select length(resume) from lob_example1 where id=2;

select length(resume) from lob_example1 where id=1;

/文件已经放入数据库

//将文件从数据库clob中读出来CREATE OR REPLACE PROCEDURE get_doc(   t_id  number,   filename varchar2    )as   lobloc clob;   amount int;   offset int:=1;   buffer varchar2(2000);   handle utl_file.file_type;begin   select resume into lobloc from lob_example1 where id=t_id;   amount:=dbms_lob.getlength(lobloc);   dbms_lob.read(lobloc,amount,offset,buffer);   handle:=utl_file.fopen('DOCS',filename,'w',2000);   utl_file.put_line(handle,buffer);   utl_file.fclose(handle);end;/ //调用这个过程,把文件读出来call get_doc(1,'zz.csv');

oracle数据库可以存图片吗,如何往数据库(Oracle)里存储图片和文件相关推荐

  1. Oracle中用system存数据,【学习笔记】Oracle表空间 数据存放system表空间影响数据库性能...

    天萃荷净 分享一篇,关于Oracle数据库system表空间研究,不能将用户数据存放在system表空间的原因 为什么不建议客户把业务数据存放到SYSTEM表空间中,一直想通过试验的数据来说明问题,今 ...

  2. mysql图片类型_MySQL里存储图片的是什么数据类型?

    root@ytt:/var/lib/mysql-files# for i in `seq 1 100`; do cp 微信图片_20190711095019.jpg "$i".jp ...

  3. ecplise插入图片太大_【Excel里插入图片时很大怎么办?我想把他设置成自动适应表格的大小。】excel图片固定大小...

    excel插入自适应单元格大小图片 excel入的图片可以设置自适应单元格大小而变化,具体操作如下: 一.使具:excel2010 二.操作步骤: 1.进入excel2010,点击"插入&q ...

  4. php图片滑动怎么做,抖音里单张图片平移视频怎么制作?影音制作实现一张图片从左到右滑动视频效果...

    今天的影音制作,是实现视频画面中有一张图片从左往右慢慢滑动的视频效果.一张横屏图片要制作成竖视频的时候,要么就会出现图片显示不全的情况,要么显示全了就会出现上下有黑边的情况,基本很难解决这个问题~但是 ...

  5. 往mysql数据库中存当前日期_在MySQL数据库中存储日期的最简单方法是什么?

    要在MySQL中存储日期,请使用STR_TO_DATE()方法-insert into yourTableName values(STR_TO_DATE('yourDate', '%d/%m/%Y') ...

  6. android 仿微信聊天气泡显示图片,实现仿照微信聊天气泡里显示图片效果的自定义View...

    第一部分是自定义的气泡效果的View,代码如下 public class BitmapShapeView extends View { private Paint mPaint; private Pa ...

  7. mfc cimage加载显示图片_在微信小程序里实现图片预加载组件

    网页中的图片预加载 我们知道在 Web 页面中实现图片的预加载其实很简单,通常的做法是在 JS 中使用 Image 对象即可,代码大致如下 var image = new Image() image. ...

  8. android 聊天气泡背景图片,关于实现微信聊天气泡里显示图片

    可以用Bitmap画刷填充Path来实现 /** * Created by Coder.Yan on 2015/5/21. */ @SuppressWarnings("deprecation ...

  9. 腾讯云COS对象存储图片文件API的详细步骤过程

    首先创建一个桶.相当于你存储图片的容器.我这里是存储图片. 我选则是共有读,私有写.因为不选择共有读的话,以后别的地方没办法访问 注意: 公有读权限可以通过匿名身份直接读取您存储桶中的数据,存在一定的 ...

最新文章

  1. 记一次升级Oracle驱动引发的死锁
  2. 13 个mod_rewrite 应用举例
  3. SQL Server 2005自带的Service Broker功能
  4. SQLSERVER 日志收缩
  5. 高并发系统之降级特技
  6. 线程等待通知 linux,Java 线程协作 wait(等待)与 notiy(通知)
  7. BERT论文的解读 PPT
  8. eclipse python_一文教你配置得心应手的Python
  9. 通过 微软 pai-fs 上传数据到HDFS (Microsoft OpenPAI)
  10. android动画水波纹外扩,Android实现水波纹扩散效果
  11. cocos creator-Assembler2D
  12. 温习古文之念奴娇·赤壁怀古
  13. 计算机英语测试,计算机专业英语测试
  14. oracle查询语句大全
  15. 【转】中国与华尔街不同的投行人生
  16. git的使用(github篇)
  17. 刘强东终于向自己的兄弟下手了!
  18. 工作流相关讲解 转载
  19. Java8 Lambda 表达式官方文档
  20. 操作系统学习(一)(B站视频)

热门文章

  1. mysql报错1690_Mysql运行模式及1690错误处理
  2. java 本地通信_java – 本地JVM之间的通信
  3. mockito_Mockito 101
  4. visualvm远程监控jvm_8款JVM性能调优监控工具(提高开发效率)
  5. 计算机会计学ufo报表,计算机会计实践部分工资管理系统.ppt
  6. 苏州专业服务器维修点,苏州服务器
  7. 面试必备,各种技术知识集大成之项目~
  8. 编程一万小时是种什么样的体验?
  9. 皮一皮:绿灯侠是怎么诞生的...
  10. Prometheus + Granafa 构建高大上的MySQL监控平台