当oracle数据库中某个字段的长度不较大的时候,用clob类型。
在向带有Lob类型的字段加入数据时,使用EMPTY_CLOB()初始化CLOB字段,然后再使用输出流向字段中写数据(这些数据往往都是字节流量相对较大的). 如果是直接在oracle客户端向表中写数据,就不用这么麻烦了.
好了,具体的操作:
CREATE TABLE article(
subject VARCHAR2(50 char),
content CLOB ,
tstamp TIMESTAMP DEFAULT SYSDATE
);
--使用EMPTY_CLOB()来初始化CLOB字段
String strSql = "INSERT INTO article(subject,content) VALUES('文章标题:Empty_clob()的使用方法',EMPTY_CLOB())";
Connection conn = db.getConnection();
conn.setAutoCommit(false);
PreparedStatement ptmt = conn.prepareStatement(sqlBuffer.toString());
ptmt.executeUpdate();
strSql = "select content from article where subject = "+subject+" for update ";
ResultSet rs = ptmt.executeQuery(strSql);
if (rs.next()) {
/**//* 取出此CLOB对象 */
oracle.sql.CLOB clob = null;
clob = (oracle.sql.CLOB) rs.getClob("content");
/**//* 向CLOB对象中写入数据 */
BufferedWriter out = new BufferedWriter(clob.getCharacterOutputStream());
out.write(content);
out.close();
out = null;
conn.commit();
}
CREATE TABLE article(
subject VARCHAR2(50 char),
content CLOB ,
tstamp TIMESTAMP DEFAULT SYSDATE
);
--使用EMPTY_CLOB()来初始化CLOB字段
String strSql = "INSERT INTO article(subject,content) VALUES('文章标题:Empty_clob()的使用方法',EMPTY_CLOB())";
Connection conn = db.getConnection();
conn.setAutoCommit(false);
PreparedStatement ptmt = conn.prepareStatement(sqlBuffer.toString());
ptmt.executeUpdate();
strSql = "select content from article where subject = "+subject+" for update ";
ResultSet rs = ptmt.executeQuery(strSql);
if (rs.next()) {
/**//* 取出此CLOB对象 */
oracle.sql.CLOB clob = null;
clob = (oracle.sql.CLOB) rs.getClob("content");
/**//* 向CLOB对象中写入数据 */
BufferedWriter out = new BufferedWriter(clob.getCharacterOutputStream());
out.write(content);
out.close();
out = null;
conn.commit();
}
分享到:
相关推荐
### 运用Java如何存取Oracle中的CLOB类型字段 #### 概述 在数据库操作中,经常会遇到处理大量文本数据的需求,例如存储文章、新闻、文档等。Oracle数据库提供了CLOB(Character Large Object)类型来存储大容量的...
这里需要注意的是,`Clob` 类型在 Java 中表示为 `java.sql.Clob`,而在 Oracle 中则使用 `oracle.sql.CLOB`。 #### 3. 存储 CLOB 数据 接下来介绍如何通过 Hibernate 将 CLOB 数据保存到 Oracle 数据库中。 **...
在数据库管理中,存储非结构化数据如图片、音频或视频文件时,通常会使用`CLOB`(Character Large Object)和`BLOB`(Binary Large Object)这两种数据类型。Oracle数据库系统支持这两种数据类型,用于存储大量文本...
在Oracle数据库中,CLOB(Character Large Object)和BLOB(Binary Large Object)是用来存储大量文本数据和二进制数据的特殊数据类型。CLOB用于存储非结构化的文本信息,如XML文档或长篇文章,而BLOB则适用于图像、...
在J2EE开发中,处理大数据对象(如大文本或二进制数据)时,Oracle数据库的CLOB字段常被用来存储超过4000字节的信息。Spring和Hibernate框架结合使用可以有效地进行CLOB字段的操作。以下是实现这一功能的关键步骤和...
本篇文章将深入探讨DELPHI中如何有效地进行CLOB和BLOB的存取处理。 CLOB主要用来存储大文本数据,如长篇文章、XML文档或JSON字符串,而BLOB则用于存储大量的二进制数据,如图像、音频、视频文件或者任何非文本的...
Java 存取 Oracle 中的 CLOB 类型数据 Java 存取 Oracle 中的 CLOB 类型数据是 Java 开发中的一项重要任务。CLOB(Character Large OBject)是一种大型字符对象,用于存储大型文本数据,最大可存储 4GB 数据。在 ...
对于CLOB和BLOB字段,Oracle JDBC驱动提供了`oracle.jdbc.driver.OracleClob`和`oracle.jdbc.driver.OracleBlob`类,它们实现了Java的标准接口`java.sql.Clob`和`java.sql.Blob`。这两个接口提供了读取和写入大数据...
Java 访问 Oracle 中的 CLOB 类型数据 Java 访问 Oracle 中的 CLOB(Character Large OBject)类型数据是一种常见的数据库操作。CLOB 类型数据可以存储大文本数据,最大可达 4GB。Java 提供的 sql.Clob 类与之对应...
在PHP编程中,当需要与...在处理Oracle数据库中的CLOB字段时,了解这些细节至关重要,以确保数据能够正确、高效地进行存取。熟悉PDO的用法以及对CLOB类型的特殊处理,可以帮助开发者编写出更加健壮和高效的PHP代码。
在Oracle数据库中,LONG类型是一种...总之,Oracle中的LONG类型字段是用来存储大文本数据的,但随着数据库技术的发展,更现代的替代方案如CLOB已变得更为常见。在实际应用中,应根据需求和性能考虑选择合适的数据类型。
### Java存取Oracle Blob 字段详解 #### 一、Blob 和 BLOB 的区别 在处理 Oracle 数据库中的二进制大型对象(Binary Large Object,简称 Blob)时,开发者经常会遇到两个相似但不同的概念:`java.sql.Blob` 和 `...
4. 在Hibernate的配置文件中添加"hibernate.connection.SetBigStringTryClob"属性,这对于Oracle数据库是必须的,以确保可以将大字符串存储为Clob类型。 5. 进行存取测试以验证配置的有效性。 传统存储方式则是将...
在Oracle数据库中,lob类型数据的存储有其特殊性,它并不和其他数据存储在同一个表中,而是可以存放在不同的表空间中,并通过一个定位符指向实际的数据。从Oracle 7开始,long或longraw字段的存储限制为2GB,而lob...
OracleClob clob = new OracleClob((OracleConnection)m_objConn); OracleParameter param = new OracleParameter('clob', OracleDbType.Clob, clob, ParameterDirection.Input); param.Value = "超过4000字符的超常...
Oracle InterMedia是Oracle数据库系统中用于管理和存取多媒体数据的一项技术,主要应用于处理非结构化的数据,如图像、音频、视频等。这项技术在Oracle 9i版本中得到强化,旨在提供一种统一的方式来管理和访问结构化...