`
zhjump
  • 浏览: 10458 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

[5]用jdbc访问大段文本数据(CLOB大字段使用字符流)

    博客分类:
  • Java
阅读更多
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.sql.Clob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class ClobTest {

	/**
	 * @param args
	 * @throws IOException
	 * @throws SQLException
	 */
	public static void main(String[] args) throws SQLException, IOException {
		// create();
		read();
	}

	static void read() throws SQLException, IOException {
		Connection conn = null;
		Statement st = null;
		ResultSet rs = null;
		try {
			// 2.建立连接
			conn = JdbcUtils.getConnection();
			// conn = JdbcUtilsSing.getInstance().getConnection();
			// 3.创建语句
			st = conn.createStatement();

			// 4.执行语句
			rs = st.executeQuery("select big_text  from clob_test");

			// 5.处理结果
			while (rs.next()) {
				Clob clob = rs.getClob(1);
				Reader reader = clob.getCharacterStream();
				// reader = rs.getCharacterStream(1);
				// String s = rs.getString(1);

				File file = new File("JdbUtils_bak.java");
				Writer writer = new BufferedWriter(new FileWriter(file));
				char[] buff = new char[1024];
				for (int i = 0; (i = reader.read(buff)) > 0;) {
					writer.write(buff, 0, i);
				}
				writer.close();
				reader.close();
			}
		} finally {
			JdbcUtils.free(rs, st, conn);
		}
	}

	static void create() throws SQLException, IOException {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			// 2.建立连接
			conn = JdbcUtils.getConnection();
			// conn = JdbcUtilsSing.getInstance().getConnection();
			// 3.创建语句
			String sql = "insert into clob_test(big_text) values (?) ";
			ps = conn.prepareStatement(sql);
			File file = new File("src/cn/itcast/jdbc/JdbcUtils.java");
			Reader reader = new BufferedReader(new FileReader(file));

			ps.setCharacterStream(1, reader, (int) file.length());
			// ps.setString(1, x);
			// 4.执行语句
			int i = ps.executeUpdate();

			reader.close();

			System.out.println("i=" + i);
		} finally {
			JdbcUtils.free(rs, ps, conn);
		}
	}

}

 用jdbc访问大段文本数据

分享到:
评论

相关推荐

    jdbc 处理clob类型字段

    CLOB是一种数据库对象,用于存储大量字符数据,其大小通常在4GB以下。在Oracle数据库中,CLOB可以用于存储非二进制的文本数据。 1. 插入CLOB数据: 在Java中,我们通常使用PreparedStatement来插入CLOB数据。首先,...

    向Oracle数据库插入Clob大段文本解决方法

    在处理Oracle数据库中的大文本数据时,CLOB(Character Large Object)类型被广泛应用于存储大量字符数据,如文章、报告或任何大型文本信息。本文将详细介绍如何有效地向Oracle数据库插入Clob大段文本,以及在操作...

    jdbc读写Oracle的CLOB字段

    JDBC读写Oracle的CLOB字段

    dblink_clob字段异常解决方案

    CLOB(Character Large OBject)是Oracle数据库中的一个数据类型,用于存储大量的字符数据。CLOB字段可以存储大量的文本数据,如文章、报表、图像等。 dblink_clob字段异常的原因 当我们使用DBLink连接远程数据库...

    java中操作oracle的CLOB字段精解

    Java 中操作 Oracle 的 CLOB 字段是一种常见的操作,在实际开发中,我们经常需要在 Oracle 数据库中存储和读取大型文本数据,这时就需要使用 CLOB(Character Large OBject)类型的字段来存储这些数据。下面我们将...

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

    Oracle数据库中的CLOB(Character Large Object)类型是用来存储大量字符数据的,比如长文本、XML文档等。在Java中,当我们需要通过JDBC(Java Database Connectivity)接口与Oracle数据库交互时,处理CLOB字段可能...

    ORACLE中CLOB字段转String类型

    - `CLOB`是Oracle数据库提供的一种特殊的数据类型,用于存储大文本数据。 - 它可以存储的最大长度为4GB。 - CLOB支持Unicode编码,这意味着它可以存储多种语言的文本内容。 2. **应用场景**: - 文章、新闻报道...

    运用Java如何存取Oracle中的CLOB类型字段

    CLOB数据类型主要用于存储大量的文本信息,如文章、报告或任何大体积的字符数据。本文将深入探讨这一主题,基于给定的代码示例,解析如何在Java环境中读取和写入Oracle数据库的CLOB字段。 ### Java存取Oracle CLOB...

    Oracle如何对CLOB行字段来执行全文检索

    Oracle 数据库中,CLOB 行字段是一种常用的数据类型,用于存储大文本数据。然而,在 Oracle8i 版本之前,对大字段 CLOB 仍然不支持在 where 子句直接的 Like 操作。这使得开发者无法直接对 CLOB 字段中的内容进行 ...

    数据库读取clob字段

    CLOB与BLOB的主要区别在于,BLOB用于存储二进制数据,而CLOB则专门用于存储字符数据。CLOB可以使用标准的SQL语句进行操作,例如INSERT、UPDATE、DELETE和SELECT等。 #### 读取CLOB字段的方法 在Oracle中读取CLOB...

    读取oracle数据库中clob字段的值

    `getCharacterStream()`方法返回一个输入流,可以用来读取CLOB中的字符数据。 ```java Reader reader = clob.getCharacterStream(); ``` 3. **读取内容**: 使用`BufferedReader`来逐行读取CLOB中的内容,并将...

    修改clob blob 字段

    修改clob blob 字段 修改clob blob 字段 修改clob blob 字段

    CLOB 字段类型报错 ORA-01704: 文字字符串过长的解决

    在Oracle数据库中,CLOB(Character Large Object)字段类型用于存储大量的文本数据,如XML文档、长篇文章或者大量字符数据。然而,当你尝试向CLOB字段插入数据时,如果超过了Oracle规定的最大限制,就会遇到“ORA-...

    JDBC方式操作CLOB字段实例

    JDBC方式操作CLOB字段实例代码 。

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

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

    JDBC中操作Blob、Clob等对象

    接下来是一个具体的示例,展示了如何使用JDBC操作包含Blob和Clob字段的数据库表。 1. **创建包含Blob和Clob字段的表**: ```java String url = "jdbc:derby:clobberyclob;create=true"; Class.forName("org....

    sql server中的image类型的数据导出到oracle的clob字段中

    我们使用了 Java 语言和 JDBC 驱动程序来实现数据的导出,并将 Image 类型数据写到文件中,然后将文件中的数据读取出来,并将其设置到 Oracle 的 CLOB 字段中。这种方法可以帮助我们实现不同数据库管理系统之间的...

    将长于4000字符的字符串转化为CLOB类型存入数据库

    在Oracle数据库中,当我们遇到需要存储超过4000个字符的文本数据时,使用CLOB(Character Large Object)类型便显得尤为重要。下面将详细介绍如何在C#环境下通过Oracle.NET接口实现将长于4000字符的字符串转化为CLOB...

Global site tag (gtag.js) - Google Analytics