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类型的增删改查方法,有需要的同学可以看下
oracle中使用jdbc读写clob字段,很多细节介绍,内容全面。
通过jdbc读取oracle数据库的clob类型的字段转换为string类型
spring 中对大数据的处理,包括clob,blob的数据。比之jdbc下简便很多。
NULL 博文链接:https://coolzhi.iteye.com/blog/586186
用hibernate和jdbc读存blob或clob
下面以程序实例说明通过JDBC操纵Oracle数据库LOB类型字段的几种情况。 先建立如下两个测试用的数据库表,Power Designer PD模型如下: 建表SQL语句为:CREATE TABLE TEST_CLOB ( ID NUMBER(3), CLOBCOL CLOB)CREATE
11.3 BLOB/CLOB类型数据的操作 11.3.1 如何获取本地数据连接 11.3.2 相关的操作接口 11.3.3 插入Lob类型的数据 11.3.4 以块数据方式读取Lob数据 11.3.5 以流数据方式读取Lob数据 11.4 自增键和行集 11.4.1 自增键的...
11.3 BLOB/CLOB类型数据的操作 11.3.1 如何获取本地数据连接 11.3.2 相关的操作接口 11.3.3 插入Lob类型的数据 11.3.4 以块数据方式读取Lob数据 11.3.5 以流数据方式读取Lob数据 11.4 自增键和行集 11.4.1 自增键的...
14.2.4 blob与clob 480 14.2.5 交易简介 481 14.2.6 metadata简介 489 14.2.7 rowset简介 492 14.3 重点复习 496 14.4 课后练习 497 chapter15 反射与类加载器 499 15.1 运用反射 500 15.1.1 class...
文件数据存储在Blob类型的FILE_CONTENT表字段上,在Spring中采用OracleLobHandler来处理Lob字段(包括Clob和Blob),由于在程序中不需要引用到oracle数据驱动程序的具体类且屏蔽了不同数据库处理Lob字段方法上的...
处理BLOB 和 CLOB对象 11.7.3. 在IN语句中传入一组参数值 11.7.4. 处理复杂类型的存储过程调用 12. 使用ORM工具进行数据访问 12.1. 简介 12.2. Hibernate 12.2.1. 资源管理 12.2.2. 在Spring容器中创建 ...
处理BLOB 和 CLOB对象 11.7.3. 在IN语句中传入一组参数值 11.7.4. 处理复杂类型的存储过程调用 12. 使用ORM工具进行数据访问 12.1. 简介 12.2. Hibernate 12.2.1. 资源管理 12.2.2. 在Spring容器中创建 ...
2.25 在Action和ServiceSpringImpl中读取资源文件 65 2.26 异常管理 65 2.26.1 分类概述 65 2.26.2 异常与系统架构的关系图 66 2.26.3 异常类的使用方法 67 2.26.3.1 ExceptionCause 67 2.26.3.2 BusinessException...