`
jinyanliang
  • 浏览: 307990 次
  • 性别: Icon_minigender_1
  • 来自: 河南开封
社区版块
存档分类
最新评论

Java存储和读取oracleCLOB类型字段

 
阅读更多
package oracle.clob;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.IOException;

import java.io.Reader;

import java.io.StringReader;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import oracle.jdbc.driver.OracleDriver;

import oracle.sql.CLOB;

public class ClobTest {

String url = "jdbc:oracle:thin:@192.168.2.157:1521:orcl";

String user = "xj";

String pwd = "xj";

String text = "这是要插入到CLOB里面的数据";

private void clobImport() throws ClassNotFoundException, SQLException {

// TODO Auto-generated method stub

DriverManager.registerDriver(new OracleDriver());

Connection conn = DriverManager.getConnection(url, user, pwd);// 得到连接对象

String sql = "insert into clob_test(id,str) values (‘1‘,?)";// 要执行的SQL语句

PreparedStatement stmt = conn.prepareStatement(sql);// 加载SQL语句

// PreparedStatement支持SQL带有问号?,可以动态替换?的内容。

Reader clobReader = new StringReader(text); // 将 text转成流形式

stmt.setCharacterStream(1, clobReader, text.length());// 替换sql语句中的?

int num = stmt.executeUpdate();// 执行SQL

if (num > 0) {

System.out.println("ok");

} else {

System.out.println("NO");

}

stmt.close();

conn.close();

}

private void clobExport() throws ClassNotFoundException, SQLException,

IOException {

// TODO Auto-generated method stub

CLOB clob = null;

String sql = "select * from clob_test where id=1";

DriverManager.registerDriver(new OracleDriver());

Connection conn = DriverManager.getConnection(url, user, pwd);// 得到连接对象

PreparedStatement stmt = conn.prepareStatement(sql);

ResultSet rs = stmt.executeQuery();

String id = "";

String content = "";

if (rs.next()) {

id = rs.getString("id");// 获得ID

clob = (oracle.sql.CLOB) rs.getClob("str"); // 获得CLOB字段str

// 注释: 用 rs.getString("str")无法得到 数据 ,返回的 是 NULL;

content = ClobToString(clob);

}

stmt.close();

conn.close();

// 输出结果

System.out.println(id);

System.out.println(content);

}

// 将字CLOB转成STRING类型

public String ClobToString(CLOB clob) throws SQLException, IOException {

String reString = "";

Reader is = clob.getCharacterStream();// 得到流

BufferedReader br = new BufferedReader(is);

String s = br.readLine();

StringBuffer sb = new StringBuffer();

while (s != null) {// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING

sb.append(s);

s = br.readLine();

}

reString = sb.toString();

return reString;

}

// TODO Auto-generated method stub

public static void main(String[] args) throws IOException,

ClassNotFoundException, SQLException {

// TODO Auto-generated method stub

ClobTest clobtest = new ClobTest();

// read file

FileReader _frd = new FileReader(new File("D:““DOS.txt"));

BufferedReader _brd = new BufferedReader(_frd);

String _rs = _brd.readLine();

StringBuffer _input = new StringBuffer();

while (_rs != null) {

_input.append(_rs);

_rs = _brd.readLine();

}

// System.out.println(_input.toString());

// 输入测试

clobtest.text = _input.toString();

clobtest.clobImport();

// 输出测试

// clobtest.clobExport();

}

}
分享到:
评论

相关推荐

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

    在Java应用程序中通过JDBC与Oracle交互时,正确地读取和写入CLOB类型的数据变得尤为重要。本文将详细介绍如何使用Java对Oracle中的CLOB类型字段进行操作。 #### CLOB简介 CLOB是Oracle数据库用于存储大型文本数据...

    java中操作oracle的CLOB字段精解

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

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

    在Java中,读取Oracle数据库中的CLOB字段可以通过以下步骤实现: 1. **获取CLOB对象**: 首先,通过执行查询语句并从结果集中获取CLOB对象。示例代码中的`lookmail[6]`表示从查询结果的第7个元素(下标为6)获取...

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

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

    java读写oracle clob字段

    本教程将介绍如何使用Java来读取和写入Oracle数据库中的CLOB字段。 首先,我们需要引入相关的Java和Oracle JDBC驱动库。在上述代码中,我们看到`import oracle.jdbc.driver.OracleDriver;`,这表示我们将使用Oracle...

    jdbc 处理clob类型字段

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

    数据库读取clob字段

    下面是一个Java方法`clobRead()`的具体实现,用于从Oracle数据库中读取CLOB字段的内容。 ```java public static String clobRead() throws Exception { DBlo_db = null; String detailinfo = ""; Connection ...

    图片存入Oracle中,用clob和blob两种方式

    下面将详细介绍这两种数据类型以及如何在Oracle中使用它们存储和读取图片。 1. **CLOB数据类型**: `CLOB`数据类型用于存储大量的字符数据,最大可达到4GB。虽然主要用于存储文本,但在本例中,由于图片可以被转换...

    Mybatis 处理 CLOB、BLOB 类型数据

    Mybatis 处理 CLOB、BLOB 类型数据 MyBatis 处理 CLOB、BLOB 类型数据是指在使用 MyBatis ...通过使用 MyBatis 处理 CLOB 和 BLOB 类型数据,可以方便地存储和读取大字段类型的数据,提高应用程序的性能和可扩展性。

    java中xml文件的处理及oracle中xmltype的插入和读取.pdf

    Java 中 XML 文件的处理及 Oracle 中 XMLType 的插入和读取 Java 中 XML 文件的处理是指在 Java 应用程序中处理和操作 XML 文件的过程。在 Oracle 数据库中,XMLType 是一种特殊的数据类型,用于存储和处理 XML ...

    Oracle的CLOB大数据字段类型操作方法

    创建包含CLOB字段的表是第一步。例如,创建一个名为TEMP的表,包含一个CLOB类型的字段temp_clob,可以使用以下SQL语句: ```sql CREATE TABLE TEMP ( name VARCHAR2(200), age NUMBER, temp_clob CLOB ) ...

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

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

    Oracle导出Clob,Blob工具

    Oracle数据库在处理大对象(LOB)类型,如Clob(Character Large Object)和Blob(Binary Large Object)时,有时需要专门的工具来进行高效且安全的数据导出。这些字段通常存储大量的文本或二进制数据,比如长篇文档...

    spring+hibernate操作oracle的clob字段

    在Java实体类中,表示CLOB字段的属性应为`String`类型,这样可以直接存储和读取文本内容。在Hibernate的映射文件中,使用`org.springframework.orm.hibernate3.support.ClobStringType`类型来映射这个属性,如下所...

    iBATIS操作Oracle CLOB数据

    1. **配置映射文件**:在iBATIS的Mapper XML文件中,需要为CLOB字段定义特殊的类型处理器。例如: ```xml <result property="largeText" column="YOUR_CLOB_COLUMN" jdbcType="CLOB"/> ``` 2. **插入操作**...

    ibatis oracle clob

    在iBATIS中,我们需要特别关注如何正确地读取和写入CLOB字段。 首先,iBATIS(现在被称为MyBatis)是一个优秀的持久层框架,它允许开发者将SQL语句嵌入到Java代码中,以简化数据库操作。它通过XML或注解的方式配置...

    kettle通过java代码将数据库blob 字段抽取到本地文件

    kettle通过java代码将数据库blob 字段抽取到本地文件

    Oracle中CLOB类型文字处理代码

    可能包括了JSP、Servlet或Java后端代码,演示如何在Web应用中与Oracle数据库中的CLOB字段交互,如通过JDBC连接进行CRUD操作。 8. 注意事项: - 管理CLOB数据时要考虑性能,大量读写可能影响效率。 - 避免一次性...

Global site tag (gtag.js) - Google Analytics