oracle数据库可以存图片吗,如何往数据库(Oracle)里存储图片和文件
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)里存储图片和文件相关推荐
- Oracle中用system存数据,【学习笔记】Oracle表空间 数据存放system表空间影响数据库性能...
天萃荷净 分享一篇,关于Oracle数据库system表空间研究,不能将用户数据存放在system表空间的原因 为什么不建议客户把业务数据存放到SYSTEM表空间中,一直想通过试验的数据来说明问题,今 ...
- mysql图片类型_MySQL里存储图片的是什么数据类型?
root@ytt:/var/lib/mysql-files# for i in `seq 1 100`; do cp 微信图片_20190711095019.jpg "$i".jp ...
- ecplise插入图片太大_【Excel里插入图片时很大怎么办?我想把他设置成自动适应表格的大小。】excel图片固定大小...
excel插入自适应单元格大小图片 excel入的图片可以设置自适应单元格大小而变化,具体操作如下: 一.使具:excel2010 二.操作步骤: 1.进入excel2010,点击"插入&q ...
- php图片滑动怎么做,抖音里单张图片平移视频怎么制作?影音制作实现一张图片从左到右滑动视频效果...
今天的影音制作,是实现视频画面中有一张图片从左往右慢慢滑动的视频效果.一张横屏图片要制作成竖视频的时候,要么就会出现图片显示不全的情况,要么显示全了就会出现上下有黑边的情况,基本很难解决这个问题~但是 ...
- 往mysql数据库中存当前日期_在MySQL数据库中存储日期的最简单方法是什么?
要在MySQL中存储日期,请使用STR_TO_DATE()方法-insert into yourTableName values(STR_TO_DATE('yourDate', '%d/%m/%Y') ...
- android 仿微信聊天气泡显示图片,实现仿照微信聊天气泡里显示图片效果的自定义View...
第一部分是自定义的气泡效果的View,代码如下 public class BitmapShapeView extends View { private Paint mPaint; private Pa ...
- mfc cimage加载显示图片_在微信小程序里实现图片预加载组件
网页中的图片预加载 我们知道在 Web 页面中实现图片的预加载其实很简单,通常的做法是在 JS 中使用 Image 对象即可,代码大致如下 var image = new Image() image. ...
- android 聊天气泡背景图片,关于实现微信聊天气泡里显示图片
可以用Bitmap画刷填充Path来实现 /** * Created by Coder.Yan on 2015/5/21. */ @SuppressWarnings("deprecation ...
- 腾讯云COS对象存储图片文件API的详细步骤过程
首先创建一个桶.相当于你存储图片的容器.我这里是存储图片. 我选则是共有读,私有写.因为不选择共有读的话,以后别的地方没办法访问 注意: 公有读权限可以通过匿名身份直接读取您存储桶中的数据,存在一定的 ...
最新文章
- 记一次升级Oracle驱动引发的死锁
- 13 个mod_rewrite 应用举例
- SQL Server 2005自带的Service Broker功能
- SQLSERVER 日志收缩
- 高并发系统之降级特技
- 线程等待通知 linux,Java 线程协作 wait(等待)与 notiy(通知)
- BERT论文的解读 PPT
- eclipse python_一文教你配置得心应手的Python
- 通过 微软 pai-fs 上传数据到HDFS (Microsoft OpenPAI)
- android动画水波纹外扩,Android实现水波纹扩散效果
- cocos creator-Assembler2D
- 温习古文之念奴娇·赤壁怀古
- 计算机英语测试,计算机专业英语测试
- oracle查询语句大全
- 【转】中国与华尔街不同的投行人生
- git的使用(github篇)
- 刘强东终于向自己的兄弟下手了!
- 工作流相关讲解 转载
- Java8 Lambda 表达式官方文档
- 操作系统学习(一)(B站视频)
热门文章
- mysql报错1690_Mysql运行模式及1690错误处理
- java 本地通信_java – 本地JVM之间的通信
- mockito_Mockito 101
- visualvm远程监控jvm_8款JVM性能调优监控工具(提高开发效率)
- 计算机会计学ufo报表,计算机会计实践部分工资管理系统.ppt
- 苏州专业服务器维修点,苏州服务器
- 面试必备,各种技术知识集大成之项目~
- 编程一万小时是种什么样的体验?
- 皮一皮:绿灯侠是怎么诞生的...
- Prometheus + Granafa 构建高大上的MySQL监控平台