由于项目的需要.用到了大字段Clob.以下是读取方法
第一种:
Clob clob = rs.getClob(“remark”);//java.sql.Clob
String detailinfo = “”;
if(clob != null){
detailinfo = clob.getSubString((long)1,(int)clob.length());
}
第二种:
Clob clob = rs.getClob(“remark”);//java.sql.Clob
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(“remark”);//java.sql.Clob
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”;
}
}
第一种方法代码量少,且能避免中文乱码问题;第二种方法与第一种方法效率差不多,也是常使用的一种方法;第三种方法效率极低,如果数据比较大的话建议不要使用。
Clob与String之间相互转换的方法如下:
/**
* clob类型转换为String
* @param clob
* @return
* String
*/
public static String ClobToString(Clob clob){
String clobS="";
try {
clobS= clob.getSubString(1, (int)clob.length());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return clobS;
}
/**
* String类型转换为Clob
* @param clobs
* @return
* Clob
*/
public static Clob StringToClob(String clobs){
Clob clob=null;
try {
clob=new SerialClob(clobs.toCharArray());
} catch (SerialException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return clob;
}
另外特别注意的是:Clob是以流的形式读取的,所以在未完全读出来的时候,数据库连接是不能关闭的.这也和数据库的类型及驱动有关.目前来看对DB2中的大字段来进行读取的时候数据库连接是不能关闭的
分享到:
相关推荐
在数据库迁移或数据同步的过程中,有时需要将含有大对象(LOB,包括BLOB和CLOB)的数据从一个数据库系统复制到另一个不完全支持LOB的数据库系统。本例中,我们讨论如何将DB2数据库中的BLOB数据类型复制到Oracle...
在数据库中,CLOB(Character Large Object)类型用于存储大文本数据,如长篇文章或XML文档。在使用MyBatis框架进行数据操作时,我们可能会遇到CLOB类型数据的读写问题,尤其是在转换和插入数据库时。本篇将详细探讨...
在Oracle数据库中,当我们遇到需要存储超过4000个字符的文本数据时,使用CLOB(Character Large Object)类型便显得尤为重要。下面将详细介绍如何在C#环境下通过Oracle.NET接口实现将长于4000字符的字符串转化为CLOB...
例如,Oracle 中的 BLOB 和 CLOB 可以提供 4GB 的空间,而 DB2/400 中的 BLOB 和 CLOB 只能存放 2GB 的数据。 五、ROWID 类型 Oracle 中的 ROWID 虚拟列用于对表中的某一列进行唯一标示,DB2/400 中也有这样的数据...
### DB2数据库导出方法详解 #### 一、引言 在DB2数据库管理系统中,进行数据迁移或备份是一项常见的任务。本文将详细介绍几种常用的DB2数据库导出方法及其应用场景,帮助用户根据自身需求选择最适合的操作方式。 ...
- **字符型**: DB2支持`CHAR`、`VARCHAR`、`CLOB`等类型,而GreenPlum/PostgreSQL支持`CHARACTER`、`VARCHAR`、`TEXT`等类型。 - **日期时间类型**: DB2有`DATE`、`TIME`、`TIMESTAMP`等类型,而GreenPlum/...
Oracle 中的 CLOB 类型可以对应 DB2 的 CLOB 类型,用于存储大型字符数据。 Oracle 中的 NCLOB 类型可以对应 DB2 的 DBCLOB 类型,用于存储 Unicode 字符数据。 五、ROWID 类型 Oracle 中的 ROWID 类型可以对应 ...
该表的一个关键字段是 `TEXT`,类型为 CLOB,最大长度为 2MB(2097152 字节)。为了完整地获取存储过程的定义,通常需要执行以下 SQL 查询: ```sql SELECT CHAR(ROUTINESCHEMA, 20), CHAR(ROUTINENAME, 20), TEXT ...
在IT领域,特别是数据库管理与开发中,IBM DB2 Universal Database (UDB) 提供了丰富的功能,包括用户自定义函数(User Defined Functions, UDFs)。这些自定义函数允许开发者利用C、C++或Java等语言编写特定的业务...
在数据库管理领域,IBM DB2作为一款高性能的关系型数据库管理系统,提供了丰富的字符串处理函数,以满足数据处理的各种需求。本文将详细介绍DB2中常用的字符串类型函数,并通过具体示例加以说明,帮助读者更好地理解...
DB2/400中的BLOB和CLOB只能存放2GB的数据,而Oracle中的BLOB和CLOB可以提供4GB的空间。 五、ROWID类型 Oracle中的ROWID虚拟列用于对表中的某一列进行唯一标示,DB2/400中也有类似的数据类型ROWID,它与Oracle中的...
* 599:没有为长字符数据类型(BLOB,CLOB 和 DBCLOB)建立比较函数 * 610:由于建立了一个指定为 DEFER YES 的索引,指定的对象处于 PENDING 状态,或者因为使用了 ALTER INDEX 改变关键值的范围,所以指定的对象...
Oracle的BLOB/CLOB类型可以直接对应到DB2/400中的BLOB/CLOB类型,但在处理大数据量时需要注意容量限制。此外,Oracle还支持BFILE类型用于管理外部文件,而DB2/400提供了DATALINK类型作为对应。 #### 六、特殊类型 ...
6. **大对象**:在DB2中,大对象(LOBs)包括BLOB(Binary Large Object)和CLOB(Character Large Object),用于存储大量二进制或文本数据。源代码可能会展示如何创建、读取、更新和删除包含大对象的表,以及如何...
- DB2支持多种数据类型,如数值类型(INTEGER、DECIMAL)、字符类型(VARCHAR、CHAR)、日期时间类型(DATE、TIMESTAMP)、二进制类型(BLOB、CLOB)等。 4. 索引: - 索引用于提高查询性能,DB2支持唯一索引、非...
它采用了SQL标准,提供了丰富的数据类型,包括数值类型、字符串类型、日期时间类型以及BLOB和CLOB等大型对象。 其次,SQL在DB2中的应用是核心部分。SQL(Structured Query Language)用于查询、插入、更新和删除...
9. **高级特性**:这包括XML支持、大数据处理(如BLOB和CLOB类型)、时空数据管理、分区、以及NoSQL接口等。 10. **故障排查**:掌握如何诊断和解决常见的DB2问题,如错误日志分析、性能瓶颈识别等。 通过这个...
Db2 提供了多种二进制类型,包括 Blob 和 Clob 等。 * Blob:保存 2GB 长度以内的二进制数据。最大长度为 2G。 * Clob:保存 2GB 长度以内的单字节文本数据。最大长度为 2G。 * DbClob:保存 1GB 长度以内的双字节...
而DB2LobTableCreator则是一个用于处理大对象(BLOB/CLOB)的工具,帮助开发者更有效地管理和操作数据库中的大对象数据。 ### 配置属性定制 为了优化性能或满足特定的应用需求,开发者可以对IBM Data Server Driver ...
DB2支持的LOB数据类型包括CLOB(字符型大对象)、BLOB(二进制大对象)和DBCLOB(双字节字符型大对象),这些数据类型具有远超过标准数据类型的存储能力。 在DB2中,LOB数据类型的创建和维护比传统的RDBMS对象要...