oracle CLOB与BLOB的区别及使用
BLOB和CLOB都是大字段类型,BLOB是按二进制来存储的,而CLOB则可以直接存储文字的。在ORACLE数据库中,像图片、文件、音乐等信息就用BLOB字段来存储,先将文件转为二进制再存储进去;
像文章或者是较长的文字,就用CLOB存储,方便查询更新存储。
CLOB :
数据库中的一种保存文件所使用的类型。将字符大对象 (Character Large Object) 存储为数据库表某一行中的一个列值。默认情况下,驱动程序使用 SQL locator(CLOB) 实现 Clob 对象,这意味着 CLOB 对象包含一个指向 SQL CLOB 数据的逻辑指针而不是数据本身。Clob 对象在它被创建的事务处理期间有效。
BLOB:
二进制大对象,是一个可以存储二进制文件的容器;BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。处理BLOB的主要思想就是让文件处理器不去理会文件是什么,而是关心如何去处理它。但这种处理大数据对象的方法是把双刃剑,它有可能引发一些问题,如存储的二进制文件过大,会使数据库的性能下降。
CLOB和BLOB的区别:
CLOB使用CHAR来保存数据。 如:保存XML文档。
BLOB就是使用二进制保存数据。 如:保存位图。
(1)JAVA里面对CLOB的操作
1 相对比较小的,用String进行直接操作,把CLOB看成字符串类型即可
2 如果比较大,用 getAsciiStream 或者 getUnicodeStream 以及对应的 setAsciiStream 和 setUnicodeStream 即可
读取数据
ResultSet rs = stmt.executeQuery("SELECT * FROM Test1");
rs.next();
Reader reader = rs.getCharacterStream(2);
插入数据
PreparedStatement pstmt = con.prepareStatement("INSERT INTO test1 (c1_id, c2_vcmax) VALUES (?, ?)");
pstmt.setInt(1, 1);
pstmt.setString(2, htmlStr);
pstmt.executeUpdate();
更新数据
Statement stmt = con.createStatemet();
ResultSet rs = stmt.executeQuery("SELECT * FROM test1");
rs.next();
Clob clob = rs.getClob(2);
long pos = clob.position("dog", 1);
clob.setString(1, "cat", len, 3);
rs.updateClob(2, clob);
rs.updateRow();
(2)PL/SQL中使用dbms_log处理
create or replace procedure insertBlob(id varchar2,imgFile varchar2)is img_file bfile;img_blob blob;lob_length number;
begin insert into person values(id,empty_blob());select photo into img_blob from person where pid =id;img_file := bfilename('PHOTO',imgFile);dbms_lob.open(img_file);lob_length :=dbms_lob.getlength(img_file);dbms_lob.loadfromfile(img_blob,img_file,lob_length);dbms_lob.close(img_file);commit;end;/
empty_blob():LOB 已初始化,但未填充数据
oracle CLOB与BLOB的区别及使用相关推荐
- CLOB与BLOB的区别及用途
BLOB和CLOB都是大字段类型,BLOB是按二进制来存储的,而CLOB是可以直接存储文字的. 其实两个是可以互换的的,或者可以直接用LOB字段代替这两个.但是为了更好的管理 ORACLE数据库, 通 ...
- CLOB、BLOB , CLOB与BLOB的区别
CLOB 定义 数据库中的一种保存文件所使用的类型. Character Large Object SQL 类型 CLOB 在 JavaTM 编程语言中的映射关系.SQL CLOB 是内置类型,它将字 ...
- Mybatis操作Oracle中的Clob和Blob字段
文章目录 Mybatis操作Oracle中的Clob和Blob字段 [ 我测试用的Mybatis Plus ] A.数据准备 A-1. Oracle中创建测试的表结构:Byte_Array_Test, ...
- Oracle Clob类型和Blob类型之间的转换
目录 一.背景 二.Clob 和 Blob 的区别 三.使用JDK的Base64编码 四.使用Oracle自带的Base64编码 一.背景 最近在迁移数据时,遇到了将Clob类型转换成Blob的问题, ...
- oracle clob 写入mongo,【Oracle】Varchar2/Blob/Clob用法详解
数据库中提供了三种字段类型Varchar2.Blob和Clob用于存储字符串或二进制数据,其中Varchar2.Clob用于存储字符串数据,而Blob用于存储二进制数据. Varchar2采用单字节存 ...
- php insert Oracle clob 字段处理问题
php insert Oracle clob 字段处理问题 如果接触过mysql的话一定对mysql的text和blob不会陌生,在mysql中是直接操作text和blob的.但是在oracle中,它 ...
- jdbc如何插入clob_让我们回顾一下如何通过JDBC插入Clob或Blob
jdbc如何插入clob LOB是所有数据库以及JDBC中的PITA. 正确处理它们需要花费几行代码,并且可以确保最终会出错. 因为您必须考虑以下几点: 首先,LOB是繁重的资源,需要特殊的生命周期管 ...
- 让我们回顾一下如何通过JDBC插入Clob或Blob
LOB是所有数据库以及JDBC中的PITA. 正确处理它们需要花费几行代码,并且可以确保最终会出错. 因为您必须考虑以下几点: 首先,LOB是繁重的资源,需要特殊的生命周期管理. 分配LOB后,最好& ...
- CLOB 和 BLOB
oracle 中有两个类型 blob 和 clob 1. BLOB (binary large object)----二进制大对象,是一个可以存储二进制文件的容器. 在老项目整改的时候看到对于 ...
最新文章
- 目录树结构改变后刷新目录树
- mysql什么情况会扫描所有_造成MySQL全表扫描的原因
- Python中九种格式化输出方法,你都知道吗?
- HDU 5776 sum (BestCoder Round #85 A) 简单前缀判断+水题
- POJ 3186 Treats for the Cows dp
- 在Python中检测*可用* CPU数量的便携方式
- 计算机设计类有哪些专业,2021新高考模式下报考,这4类专业有“潜规则”,考生报考需谨慎...
- 利用科来网络分析进行三次握手协议分析
- 服务端Word转Pdf,实现中文文档转换
- Oracle查询被锁表和解锁方法
- c语言求开平方标准库函数,关于C语言中的开方计算,首先想到的当然是sqrt()函数,让我们先来回顾一下它的基本用法: 头文件:#include math.hsqrt(...
- winsxs是什么文件夹 Winsxs文件夹可以删除吗
- Description Resource Path Location Type Archive for required library:xxxcan not or is not a vail zip
- api文档 luci_Luci介绍
- 系统运维工程师学习计划
- 【C语言】打印一个爱心
- 5GNR漫谈1:NR物理层帧结构
- WireGuard 全互联模式终极指南(上)!
- 2023第六届东北(沈阳)国际幼教产业及装备展览会
- 英飞凌TRAVEO II介绍
热门文章
- 通讯的基本概念以及分类
- PHP中curl的CURLOPT_POSTFIELDS请求时,Content-Type多出boundary=------------------------
- Non-Reflecting Boundary Conditions in OpenFOAM
- 南京大学java机试,2019南京大学计算机本科生开放日机试
- js获取随机数与随机颜色函数的简单封装
- 辅导1000多名学生后,我总结了学习数据分析的八大误区
- 如何输入一串带空格的字符串?
- OllyDbg分析crackme-AcidBurn
- Java求200内素数质数及其之和
- php模拟登陆青果教务系统,模拟登录 - php CURL模拟登陆正方教务系统