欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle中Blob和Clob类型的区别

程序员文章站 2022-06-23 22:39:18
CLOB 定义 数据库中的一种保存文件所使用的类型。 Character Large Object SQL 类型 CLOB 在 JavaTM 编程语言中的映射关系。SQL CLOB 是内置类型,它将字符大对象 (Character Large Object) 存储为数据库表某一行中的一个列值。默认情 ......

  数据库中的一种保存文件所使用的类型。

  character large object

  sql 类型 clob 在 javatm 编程语言中的映射关系。sql clob 是内置类型,它将字符大对象 (character large object) 存储为数据库表某一行中的一个列值。默认情况下,驱动程序使用 sql locator(clob) 实现 clob 对象,这意味着 clob 对象包含一个指向 sql clob 数据的逻辑指针而不是数据本身。clob 对象在它被创建的事务处理期间有效。

  在一些数据库系统里,也使用text 作为clob的别名,比如sql server

blob的含义

  blob (binary large object),二进制大对象,是一个可以存储二进制文件的容器。

  在计算机中,blob常常是数据库中用来存储二进制文件的字段类型。

  blob是一个大文件,典型的blob是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。

  根据eric raymond的说法,处理blob的主要思想就是让文件处理器(如数据库管理器)不去理会文件是什么,而是关心如何去处理它。

但也有专家强调,这种处理大数据对象的方法是把双刃剑,它有可能引发一些问题,如存储的二进制文件过大,会使数据库的性能下降。在数据库中存放体积较大的多媒体对象就是处理blob的典型例子。

clob和blob的区别

  clob使用char来保存数据。 如:保存xml文档。

       blob就是使用二进制保存数据。 如:保存位图。

java里面对clob的操作

  在绝大多数情况下,使用2种方法使用clob

  1 相对比较小的,可以用string进行直接操作,把clob看成字符串类型即可

  2 如果比较大,可以用 getasciistream 或者 getunicodestream 以及对应的 setasciistream 和 setunicodestream 即可

  读取数据

  resultset rs = stmt.executequery("select top 1 * 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();

 

 

blob和clob都是大字段类型,blob是按二进制来存储的,而clob是可以直接存储文字的。其实两个是可以互换的的,或者可以直接用lob字段代替这两个。但是为了更好的管理oracle数据库,通常像图片、文件、音乐等信息就用blob字段来存储,先将文件转为二进制再存储进去。而像文章或者是较长的文字,就用clob存储,这样对以后的查询更新存储等操作都提供很大的方便。

oracle中blob和clob类型的区别

1.blob   
 blob全称为二进制大型对象(binary   large   object)。它用于存储数据库中的大型二进制对象。可存储的最大大小为4g字节   
2.clob   
 clob全称为字符大型对象(character   large   object)。它与long数据类型类似,只不过clob用于存储数据库中的大型单字节字符数据块,不支持宽度不等的字符集。可存储的最大大小为4g字节

     通常像图片、文件、音乐等信息就用blob字段来存储,先将文件转为二进制再存储进去。而像文章或者是较长的文字,就用clob存储,这样对以后的查询更新存储等操作都提供很大的方便。

java里面对clob的操作

  在绝大多数情况下,使用2种方法使用clob

  1 相对比较小的,可以用string进行直接操作,把clob看成字符串类型即可

  2 如果比较大,可以用 getasciistream 或者 getunicodestream 以及对应的 setasciistream 和 setunicodestream 即可

  读取数据

1 resultset rs = stmt.executequery("select top 1 * from test1");
2 rs.next();
3 reader reader = rs.getcharacterstream(2);

  插入数据 

1 preparedstatement pstmt = con.preparestatement("insert into test1 (c1_id, c2_vcmax) values (?, ?)");
2 pstmt.setint(1, 1);
3 pstmt.setstring(2, htmlstr);
4 pstmt.executeupdate();

  更新数据

oracle中Blob和Clob类型的区别
oracle中Blob和Clob类型的区别
1 statement stmt = con.createstatemet();
2 resultset rs = stmt.executequery("select * from test1");
3 rs.next();
4 clob clob = rs.getclob(2);
5 long pos = clob.position("dog", 1);
6 clob.setstring(1, "cat", len, 3);
7 rs.updateclob(2, clob);
8 rs.updaterow();
oracle中Blob和Clob类型的区别