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的区别及使用相关推荐

  1. CLOB与BLOB的区别及用途

    BLOB和CLOB都是大字段类型,BLOB是按二进制来存储的,而CLOB是可以直接存储文字的. 其实两个是可以互换的的,或者可以直接用LOB字段代替这两个.但是为了更好的管理 ORACLE数据库, 通 ...

  2. CLOB、BLOB , CLOB与BLOB的区别

    CLOB 定义 数据库中的一种保存文件所使用的类型. Character Large Object SQL 类型 CLOB 在 JavaTM 编程语言中的映射关系.SQL CLOB 是内置类型,它将字 ...

  3. Mybatis操作Oracle中的Clob和Blob字段

    文章目录 Mybatis操作Oracle中的Clob和Blob字段 [ 我测试用的Mybatis Plus ] A.数据准备 A-1. Oracle中创建测试的表结构:Byte_Array_Test, ...

  4. Oracle Clob类型和Blob类型之间的转换

    目录 一.背景 二.Clob 和 Blob 的区别 三.使用JDK的Base64编码 四.使用Oracle自带的Base64编码 一.背景 最近在迁移数据时,遇到了将Clob类型转换成Blob的问题, ...

  5. oracle clob 写入mongo,【Oracle】Varchar2/Blob/Clob用法详解

    数据库中提供了三种字段类型Varchar2.Blob和Clob用于存储字符串或二进制数据,其中Varchar2.Clob用于存储字符串数据,而Blob用于存储二进制数据. Varchar2采用单字节存 ...

  6. php insert Oracle clob 字段处理问题

    php insert Oracle clob 字段处理问题 如果接触过mysql的话一定对mysql的text和blob不会陌生,在mysql中是直接操作text和blob的.但是在oracle中,它 ...

  7. jdbc如何插入clob_让我们回顾一下如何通过JDBC插入Clob或Blob

    jdbc如何插入clob LOB是所有数据库以及JDBC中的PITA. 正确处理它们需要花费几行代码,并且可以确保最终会出错. 因为您必须考虑以下几点: 首先,LOB是繁重的资源,需要特殊的生命周期管 ...

  8. 让我们回顾一下如何通过JDBC插入Clob或Blob

    LOB是所有数据库以及JDBC中的PITA. 正确处理它们需要花费几行代码,并且可以确保最终会出错. 因为您必须考虑以下几点: 首先,LOB是繁重的资源,需要特殊的生命周期管理. 分配LOB后,最好& ...

  9. CLOB 和 BLOB

    oracle 中有两个类型  blob  和   clob 1. BLOB (binary large object)----二进制大对象,是一个可以存储二进制文件的容器. 在老项目整改的时候看到对于 ...

最新文章

  1. 目录树结构改变后刷新目录树
  2. mysql什么情况会扫描所有_造成MySQL全表扫描的原因
  3. Python中九种格式化输出方法,你都知道吗?
  4. HDU 5776 sum (BestCoder Round #85 A) 简单前缀判断+水题
  5. POJ 3186 Treats for the Cows dp
  6. 在Python中检测*可用* CPU数量的便携方式
  7. 计算机设计类有哪些专业,2021新高考模式下报考,这4类专业有“潜规则”,考生报考需谨慎...
  8. 利用科来网络分析进行三次握手协议分析
  9. 服务端Word转Pdf,实现中文文档转换
  10. Oracle查询被锁表和解锁方法
  11. c语言求开平方标准库函数,关于C语言中的开方计算,首先想到的当然是sqrt()函数,让我们先来回顾一下它的基本用法: 头文件:#include math.hsqrt(...
  12. winsxs是什么文件夹 Winsxs文件夹可以删除吗
  13. Description Resource Path Location Type Archive for required library:xxxcan not or is not a vail zip
  14. api文档 luci_Luci介绍
  15. 系统运维工程师学习计划
  16. 【C语言】打印一个爱心
  17. 5GNR漫谈1:NR物理层帧结构
  18. WireGuard 全互联模式终极指南(上)!
  19. 2023第六届东北(沈阳)国际幼教产业及装备展览会
  20. 英飞凌TRAVEO II介绍

热门文章

  1. 通讯的基本概念以及分类
  2. PHP中curl的CURLOPT_POSTFIELDS请求时,Content-Type多出boundary=------------------------
  3. Non-Reflecting Boundary Conditions in OpenFOAM
  4. 南京大学java机试,2019南京大学计算机本科生开放日机试
  5. js获取随机数与随机颜色函数的简单封装
  6. 辅导1000多名学生后,我总结了学习数据分析的八大误区
  7. 如何输入一串带空格的字符串?
  8. OllyDbg分析crackme-AcidBurn
  9. Java求200内素数质数及其之和
  10. php模拟登陆青果教务系统,模拟登录 - php CURL模拟登陆正方教务系统