`
ctrain
  • 浏览: 135458 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JDBC读取CLOB

    博客分类:
  • J2EE
阅读更多
    CLOB用于存储大量的字符数据,读取CLOB的JDBC代码如下所示
import java.sql.*;
import java.io.*;

public class ReadClob {
	public static void main(String[] args) {
		PreparedStatement pstmt = null;
		ResultSet rset = null;
		BufferedReader reader = null;
		Connection conn = null;
		String driver = "oracle.jdbc.driver.OracleDriver";
		String strUrl = "jdbc:oracle:thin@127.0.0.1:1521:ORCL";
		try {
			Class.forName(driver);
			conn = DriverManager.getConnection(strUrl, "scott", "tiger");
			pstmt = conn
					.prepareStatement("select v_clob form ord where ORD_id =?");
			pstmt.setInt(1, 1);
			rset = pstmt.executeQuery();
			while (rset.next()) {
				Clob clob = rset.getClob(1);// java.sql.Clob类型
				reader = new BufferedReader(new InputStreamReader(clob
						.getAsciiStream()));
				String line = null;
				while ((line = reader.readLine()) != null) {
					System.out.println(line);
				}
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

    程序代码从结果集中获取CLOB字段,再将其转化为IO流进行读取。那么,JDBC将大量自读数据写入CLOB字段的操作需要首先用“for update”字句查找CLOB字段,然后从结果集中获取CLOB字段并转化为oracle.sql.CLOB类型进行写入操作。
 	//写入操作
			String stmtString = "select v_clob form ord  where ord_id =? for update";
			pstmt = conn.prepareStatement(stmtString);
			pstmt.setInt(1, 2);
			rset = pstmt.executeQuery();
			while(rset.next()){
				//造型为oracle.sql.CLOB
				CLOB clob = (CLOB)rset.getClob(1);
				String newClobDate = new String("NEW CLOOB DATE");
				Writer writer = clob.getCharacterOutputStream();
				//OutStream writer = clob.getAsciiOutputStream();
				writer.write(newClobDate);
			}
分享到:
评论

相关推荐

    jdbc 处理clob类型字段

    查询CLOB字段时,我们可以使用ResultSet的getClob方法获取Clob对象,然后通过getClob.length()或getSubString方法读取数据。例如: ```java String sql = "SELECT my_clob_column FROM my_table WHERE id = ?"; ...

    数据库读取clob字段

    ### 数据库读取CLOB字段 #### 概述 在Oracle数据库中,CLOB(Character Large Object)是一种用于存储大量文本数据的数据类型。CLOB能够容纳4GB的文本信息,适用于存储如文章、报告或者XML文档等大型文本数据。...

    weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB 类型转换解决办法

    3. **CLOB 数据读取**:无论是 `oracle.sql.CLOB` 还是通过 `getVendorObj()` 方法得到的 `oracle.sql.CLOB` 对象,都可以通过 `getAsciiStream()` 和 `getSubString()` 方法来读取 CLOB 的内容,并将其转换为字符串...

    基于jdbc处理Clob的使用介绍

    以下是如何读取CLOB的示例: ```java while (rs.next()) { Clob c = rs.getClob("WKT"); InputStream is = c.getAsciiStream(); // 获取ASCII流,如果包含非ASCII字符,可以使用getCharacterStream() String ...

    jsp读取大对象CLOB并生成xml文件示例

    3. **读取CLOB内容**:由于CLOB存储的是大量字符数据,我们需要逐段读取。可以使用`getSubString()`方法来获取特定范围内的字符串。 ```java String xmlContent = clob.getSubString(1, (int) clob.length()); ``` ...

    JDBC中操作Blob、Clob等对象

    // 读取Clob数据 BufferedReader reader = clob.getCharacterStream(); String content = IOUtils.toString(reader); // 读取Blob数据 InputStream blobStream = blob.getBinaryStream(); byte[] imageData ...

    jdbc__clob.rar_oracle

    当我们需要从数据库读取Clob数据时,可以使用`getClob()`方法: ```java ResultSet rs = pstmt.executeQuery(); if (rs.next()) { Clob clobFromDB = rs.getClob("clob_column"); String content = ...

    jdbc_blob_clob.rar

    5. **读取Clob数据**:通过`Clob.getCharacterStream()`或`Clob.getSubString(long pos, int length)`获取字符数据流或子字符串。 6. **写入Blob数据**:将二进制数据流设置到Blob对象,然后在SQL语句中使用。例如...

    oracle数据库的clob大字段在jdbc中的处理方式

    以上就是通过JDBC读取Oracle数据库中CLOB字段并转换为String的基本过程。需要注意的是,由于CLOB可能包含大量数据,因此在读取时要考虑到性能和内存消耗。如果数据过大,可以考虑分块读取或使用流式处理,避免一次性...

    详解jdbc实现对CLOB和BLOB数据类型的操作

    读取CLOB数据主要通过Java.sql.Clob接口实现。下面是一个基本的读取CLOB数据的示例代码: ```java Connection con = ConnectionFactory.getConnection(); con.setAutoCommit(false); Statement st = con....

    spring2通过jdbc的方式读取、更新数据库的clob或者blob类型的数据

    - CLOB和BLOB的读取速度通常比普通字段慢,因此在设计数据库表结构时应尽量避免频繁的读取操作。 总的来说,Spring通过JDBC提供了一套完善的接口和工具类来处理CLOB和BLOB,使得开发者无需直接与JDBC API打交道,...

    jdbc连接例子 Oracle CLOB转换为String java调用存储过程之输出游标

    在Java中,我们需要使用`ResultSet.getClob()`方法获取`Clob`对象,然后可以通过`Clob.getSubString()`或`Clob.getCharacterStream()`读取CLOB内容。例如: ```java ResultSet rs = stmt.executeQuery("SELECT ...

    JDBC中操作Blob、Clob等对象 实例详细 非常详细

    本文将详细介绍如何使用JDBC来操作Blob和Clob对象,包括创建含有Blob和Clob字段的表、插入和读取Blob/Clob数据的具体步骤。 #### 二、Derby简介 Apache Derby是一款高质量的、纯Java的嵌入式关系数据库引擎。它...

    Oracle clob和blob在jdbc的应用

    在示例中,使用`BufferedReader`读取并打印CLOB内容。对于BLOB字段,我们使用`ResultSet.getBlob()`方法获取`Blob`对象,同样可以获取其输入流进行处理。 总结来说,Oracle数据库中的CLOB和BLOB类型是处理大量文本...

    使用Jdbc4操作Blob,Clob

    对于从数据库读取Blob和Clob,JDBC4也提供了便捷的方法。`ResultSet`中的`getBlob`和`getClob`方法可以返回`Blob`或`Clob`对象,然后可以通过`Blob`的`getBinaryStream`或`getClob`的`getCharacterStream`方法获取...

    clob-blob.rar_blob and clob_clob_java CLOB_java oracle cl_oracle

    - 调用`getClobCharacterStream()`或`getSubString()`来读取CLOB内容。 4. **写入CLOB**: - 创建一个`Clob`实例,可以使用`Connection.createClob()`方法。 - 将数据写入`Clob`,例如使用`setAsciiStream()`、`...

    java操作clob

    无论使用 JDBC 还是 JNDI,读取 CLOB 数据的操作都是相同的,因为它们都返回 `java.sql.Clob` 对象: ```java // 获取数据行 ResultSet rs = st.executeQuery("SELECT CLOBATTR FROM TESTCLOB WHERE ID=1"); if ...

    java读写oracle clob字段

    - 从数据库中读取CLOB字段时,需要查询数据并获取`ResultSet`。然后,可以使用`getClob()`方法获取CLOB对象: ```java ResultSet rs = pstmt.executeQuery(); if (rs.next()) { CLOB clob = rs.getClob("str");...

    关于在Hibernate中对于Clob,Blob字段的处理方法

    例如,你可以这样读取Clob内容: ```java Clob clob = myEntity.getLargeText(); String text = clob.getSubString(1, (int) clob.length()); ``` 总结起来,在Hibernate中处理Oracle数据库中的Clob和Blob字段,...

Global site tag (gtag.js) - Google Analytics