CLOB 定义
数据库中的一种保存文件所使用的类型。
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();
转自:http://blog.csdn.net/magister_feng/article/details/7825892
相关推荐
CLOB、BLOB 与 CLOB 与 BLOB 的区别 CLOB(Character Large OBject)是一种数据库类型,用于存储大型字符对象。它是 SQL 类型,用于存储字符大对象(Character Large Object),将字符大对象存储为数据库表某一行中...
CLOB与BLOB的存储与读取,String与CLOB的想换转换,字节码文件的存储与读取等等
- 处理CLOB和BLOB时需考虑数据库性能,如索引设计、事务管理、数据备份与恢复策略等。 - 针对不同数据库系统,如Oracle、MySQL、SQL Server等,可能需要使用特定的API或组件。 - 数据库连接池的管理也是优化性能...
1. **Clob与Blob的理解**: - Clob:Clob是用于存储大量字符数据的类型,例如长篇文章、XML文档等。它以字符流的形式存储数据。 - Blob:Blob则是用于存储非结构化的二进制数据,如图片、音频文件或PDF文档,它以...
Oracle数据库在处理大对象(LOB)类型,如Clob(Character Large Object)和Blob(Binary Large Object)时,有时需要专门的工具来进行高效且安全的数据导出。这些字段通常存储大量的文本或二进制数据,比如长篇文档...
@Lob 注解可以与 @Basic 注解结合使用,以确保正确地读取和写入 Clob 类型的数据。例如: ``` @Column(name="SUBSTANCE", columnDefinition="CLOB", nullable=true) @Basic(fetch = FetchType.EAGER) @Lob private ...
Mybatis 处理 CLOB、BLOB 类型数据 MyBatis 处理 CLOB、BLOB 类型数据是指在使用 MyBatis 框架时,如何正确地处理大字段类型的数据。CLOB(Character Large OBject)和 BLOB(Binary Large OBject)都是大字段类型...
使用 JDBC 读写 BLOB 字段与读写 CLOB 字段相似。只是在读写 BLOB 字段时需要使用二进制流的方式。 五、实例分析 下面我们通过一个实例来演示如何使用 JDBC 读写 CLOB 和 BLOB 字段。 首先,我们建立两个测试用的...
修改clob blob 字段 修改clob blob 字段 修改clob blob 字段
本文将深入探讨这两个数据库系统如何处理`CLOB`(Character Large Object)和`BLOB`(Binary Large Object)字段,这两种字段类型主要用于存储大量文本或二进制数据。 `CLOB`用于存储非结构化的字符数据,如长篇...
在Java编程中,Oracle数据库提供了对大型对象(Large Object)的支持,包括CLOB(Character Large Object)和BLOB(Binary Large Object)。这两种类型用于存储大量的文本数据(CLOB)和二进制数据(BLOB),例如...
- 与CLOB类似,通过`ResultSet`获取`Blob`对象。 - 使用`getBlob()`方法获取`Blob`对象的引用。 - 通过`getBinaryStream()`方法读取BLOB内容。 6. **写入BLOB**: - 创建一个`Blob`实例,可以使用`Connection....
Oracle数据库在存储大对象(BLOB和CLOB)时提供了强大的功能,但处理这些类型的数据进行导入导出可能会带来挑战。"Oracle导出Clob,Blob工具版本2" 是一个专为解决这个问题而设计的应用程序,它改进了对CLOB...
总的来说,Spring通过JDBC提供了一套完善的接口和工具类来处理CLOB和BLOB,使得开发者无需直接与JDBC API打交道,降低了数据库操作的复杂度。在实际项目中,根据业务需求,合理运用这些功能可以极大地提高开发效率和...
在Java的持久化框架Hibernate中,处理大数据类型如Clob(Character Large Object)和Blob(Binary Large Object)是一项常见的任务。这些数据类型通常用于存储大量的文本数据(Clob)和二进制数据(Blob),例如长篇...
在数据库管理中,存储非结构化数据如图片、音频或视频文件时,通常会使用`CLOB`(Character Large Object)和`BLOB`(Binary Large Object)这两种数据类型。Oracle数据库系统支持这两种数据类型,用于存储大量文本...
这一步骤对于将BLOB转换为CLOB至关重要,因为CLOB本质上是一种字符数据类型,而不能直接与二进制数据交互。通过使用`UTL_RAW.CAST_TO_VARCHAR2`,我们可以将BLOB数据转换为中间的VARCHAR2格式,然后进一步转换为CLOB...
而CLOB则与字符编码有关,如UTF-8、GBK等,用于存储字符数据。 3. 处理方式:对BLOB进行操作时,通常涉及二进制文件的读写,例如图片的上传和下载。CLOB操作则更偏向于文本内容的处理,如文本编辑、搜索等。 在...
与`CLOB`类似,`BLOB`的数据长度也最大可达4GB。 - **语法与特性**: - 通过`getBinaryStream()`方法读取`BLOB`内容,并且通过`setBinaryStream()`方法将内容写入`BLOB`。 - 初始化空`BLOB`对象时,可以使用`...