最近频繁处理clob字段,故集中了几种读取clob字段的方法,仅供参考。
第一种:
Clob clob = rs.getClob("report");
String detailinfo = "";
if(clob != null){
detailinfo = clob.getSubString((long)1,(int)clob.length());
}
第二种:
Clob clob = rs.getClob("report");
int i = 0;
if(clob != null){
InputStream input = clob.getAsciiStream();
int len = (int)clob.length();
byte by[] = new byte[len];
while(-1 != (i = input.read(by, 0, by.length))){
input.read(by, 0, i);
}
detailinfo = new String(by, "utf-8");
}
第三种:
Clob clob = rs.getClob("report");
String value="";
String line="";
if(clob!=null){
Reader reader=((oracle.sql.CLOB)clob).getCharacterStream();
BufferedReader br=new BufferedReader(reader);
while((line=br.readLine())!=null)
{
value += line + "\r\n";
}
}
第一种方法代码量少,且能避免中文乱码问题;第二种方法与第一种方法效率差不多,也是常使用的一种方法;第三种方法效率极低,如果数据比较大的话建议不要使用。
分享到:
相关推荐
Java 中操作 Oracle 的 CLOB 字段是一种常见的操作,在实际开发中,我们经常需要在 Oracle 数据库中存储和读取大型文本数据,这时就需要使用 CLOB(Character Large OBject)类型的字段来存储这些数据。下面我们将...
在处理CLOB数据时,通常会涉及到以下几种常见操作: - 插入CLOB数据 - 更新CLOB数据 - 查询CLOB数据 - 删除CLOB数据 #### Java访问CLOB示例 以下是一个使用Java访问Oracle数据库中CLOB类型的示例代码: ```java ...
### 二、Java操作CLOB字段的方法 #### 2.1 插入CLOB数据 插入CLOB数据通常涉及到以下步骤: 1. **创建空的CLOB对象**:使用`empty_clob()`函数创建一个空的CLOB对象。 2. **获取CLOB的输出流**:使用`...
4. **查询操作**:查询包含CLOB字段的记录时,iBATIS会自动处理CLOB的读取。但是,由于CLOB可能很大,所以在处理结果集时应谨慎,避免内存溢出。 5. **类型处理器**:iBATIS提供了一个`OracleClobHandler`,它可以...
Java 访问 Oracle 中的 COLB 类型数据 Java 中访问 Oracle 数据库中的 COLB 类型数据是一种常见的操作。...最后,在和数据库中最好是采用连接池技术,用标准的 J2EE 的环境,用简单的 JNDI 技术,是很好的一种方法的。
然后,查询这个新记录并获取其CLOB字段,利用`getCharacterOutputStream()`方法创建一个输出流,并通过`BufferedWriter`将文件内容写入CLOB。最后,提交事务并将自动提交恢复到初始状态。 3. **修改CLOB对象** `...
Hibernate2支持将Java的`java.sql.Blob`和`java.sql.Clob`对象映射到数据库的Blob和Clob字段,这样可以存储大数据而不影响其他字段。 2. **文件系统存储**:大字段数据可以存储在文件系统中,然后在数据库中仅存储...
BLOB是一种可以存储大量二进制数据的对象,分为四种子类型:BLOB、CLOB、NCLOB和BFILE。在Oracle中,BLOB用于存储二进制数据,如照片;而在MySQL中,BLOB也有类似的分类,包括TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB...
针对大字段的处理,通常有以下几种策略: 1. **字段分片**:如果一个字段过大,可以将其拆分为多个较小的字段存储,降低单个字段的数据量。 2. **延迟加载**(Lazy Loading):在Hibernate中,大字段可以通过懒...
1. **JdbcTemplate**:这是Spring JDBC模块的一个关键接口,提供了方便的SQL执行方法,可以用于读取和写入BLOB字段。使用JdbcTemplate,我们可以编写SQL查询或更新语句,并利用其方法执行它们,处理结果集。 2. **...
解决这个问题有几种方法: 1. **调整数据类型**:检查数据库表结构,确认字段是否使用了适当的数据类型。如果字段内容确实需要很长,可以考虑改用CLOB或NCLOB类型,它们可以存储更大的文本数据。 2. **升级驱动**...
要将Excel数据导入Oracle,我们通常有以下几种方法: 1. **SQL*Loader**:Oracle提供的一个批量数据加载工具,能够快速将大量数据从文本文件或CSV文件加载到数据库中。对于xls文件,我们可以先将其转换为CSV格式,...
MySQL支持几种不同类型的BLOB类型,包括TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。这些类型主要区别在于它们可以存储的最大字节数。TINYBLOB可以存储最多255个字节,BLOB可以存储最多65,535个字节,MEDIUMBLOB可存储...
文件数据存储在Blob类型的FILE_CONTENT表字段上,在Spring中采用OracleLobHandler来处理Lob字段(包括Clob和Blob),由于在程序中不需要引用到oracle数据驱动程序的具体类且屏蔽了不同数据库处理Lob字段方法上的...
Hibernate是一款广泛应用于Java开发中的ORM(对象关系映射)框架,它的主要目标是简化数据库操作,将数据库的CRUD(创建、读取、更新、删除)操作转化为对Java对象的操作。通过Hibernate,开发者可以避免编写大量的...
介绍了几种建立JDBC连接的方法,包括使用DriverManager类、配置JDBC数据源等,为开发者提供了灵活的选择。 **4.6 Statement/PreparedStatement/CallableStatement** 这部分分别介绍了Statement、PreparedStatement...
LOB数据类型 clob 1~4GB 只能存储字符数据 nclob 1~4GB 保存本地语言字符集数据 blob 1~4GB 以二进制信息保存数据 三、 DDL语言 1. Create table命令 用于创建表。在创建表时,经常会创建该表的主键、外键、唯一...
说明: 指定一对值 (UTC,TZD), 设置 TIME WITH TIME ZONE 数据类型的默认值, 该数据类型包含 HOUR, MINUTE, SECOND, TIMEZONE_HOUR 和 TIMEZONE_MINUTE 这几个日期时间字段。UTC 是世界时而 TZD 是当地时区。 语法: ...