`

db2 clob

 
阅读更多
由于项目的需要.用到了大字段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中的大字段来进行读取的时候数据库连接是不能关闭的
分享到:
评论

相关推荐

    如何将DB2数据库中的大对象(BLOB,CLOB)数据类型复制到Oracle数据库中

    在数据库迁移或数据同步的过程中,有时需要将含有大对象(LOB,包括BLOB和CLOB)的数据从一个数据库系统复制到另一个不完全支持LOB的数据库系统。本例中,我们讨论如何将DB2数据库中的BLOB数据类型复制到Oracle...

    mybatis 对clob类型转换

    在数据库中,CLOB(Character Large Object)类型用于存储大文本数据,如长篇文章或XML文档。在使用MyBatis框架进行数据操作时,我们可能会遇到CLOB类型数据的读写问题,尤其是在转换和插入数据库时。本篇将详细探讨...

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

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

    Oracle与DB2数据类型分类对应说明

    例如,Oracle 中的 BLOB 和 CLOB 可以提供 4GB 的空间,而 DB2/400 中的 BLOB 和 CLOB 只能存放 2GB 的数据。 五、ROWID 类型 Oracle 中的 ROWID 虚拟列用于对表中的某一列进行唯一标示,DB2/400 中也有这样的数据...

    db2导出数据库

    ### DB2数据库导出方法详解 #### 一、引言 在DB2数据库管理系统中,进行数据迁移或备份是一项常见的任务。本文将详细介绍几种常用的DB2数据库导出方法及其应用场景,帮助用户根据自身需求选择最适合的操作方式。 ...

    DB2到GreenPlum/PostgreSQL的转换指南

    - **字符型**: DB2支持`CHAR`、`VARCHAR`、`CLOB`等类型,而GreenPlum/PostgreSQL支持`CHARACTER`、`VARCHAR`、`TEXT`等类型。 - **日期时间类型**: DB2有`DATE`、`TIME`、`TIMESTAMP`等类型,而GreenPlum/...

    Oracle与DB2数据类型的分类对应说明

    Oracle 中的 CLOB 类型可以对应 DB2 的 CLOB 类型,用于存储大型字符数据。 Oracle 中的 NCLOB 类型可以对应 DB2 的 DBCLOB 类型,用于存储 Unicode 字符数据。 五、ROWID 类型 Oracle 中的 ROWID 类型可以对应 ...

    db2look导出存储过程脚本

    该表的一个关键字段是 `TEXT`,类型为 CLOB,最大长度为 2MB(2097152 字节)。为了完整地获取存储过程的定义,通常需要执行以下 SQL 查询: ```sql SELECT CHAR(ROUTINESCHEMA, 20), CHAR(ROUTINENAME, 20), TEXT ...

    db2调自定义函数(小例)

    在IT领域,特别是数据库管理与开发中,IBM DB2 Universal Database (UDB) 提供了丰富的功能,包括用户自定义函数(User Defined Functions, UDFs)。这些自定义函数允许开发者利用C、C++或Java等语言编写特定的业务...

    db2字符串类型的常用函数

    在数据库管理领域,IBM DB2作为一款高性能的关系型数据库管理系统,提供了丰富的字符串处理函数,以满足数据处理的各种需求。本文将详细介绍DB2中常用的字符串类型函数,并通过具体示例加以说明,帮助读者更好地理解...

    Oracle与DB2数据类型的对应说明书

    DB2/400中的BLOB和CLOB只能存放2GB的数据,而Oracle中的BLOB和CLOB可以提供4GB的空间。 五、ROWID类型 Oracle中的ROWID虚拟列用于对表中的某一列进行唯一标示,DB2/400中也有类似的数据类型ROWID,它与Oracle中的...

    db2错误代码大全

    * 599:没有为长字符数据类型(BLOB,CLOB 和 DBCLOB)建立比较函数 * 610:由于建立了一个指定为 DEFER YES 的索引,指定的对象处于 PENDING 状态,或者因为使用了 ALTER INDEX 改变关键值的范围,所以指定的对象...

    Oracle和DB2的数据类型比较

    Oracle的BLOB/CLOB类型可以直接对应到DB2/400中的BLOB/CLOB类型,但在处理大数据量时需要注意容量限制。此外,Oracle还支持BFILE类型用于管理外部文件,而DB2/400提供了DATALINK类型作为对应。 #### 六、特殊类型 ...

    DB2培训源代码

    6. **大对象**:在DB2中,大对象(LOBs)包括BLOB(Binary Large Object)和CLOB(Character Large Object),用于存储大量二进制或文本数据。源代码可能会展示如何创建、读取、更新和删除包含大对象的表,以及如何...

    DB2 一些学习总结

    - DB2支持多种数据类型,如数值类型(INTEGER、DECIMAL)、字符类型(VARCHAR、CHAR)、日期时间类型(DATE、TIMESTAMP)、二进制类型(BLOB、CLOB)等。 4. 索引: - 索引用于提高查询性能,DB2支持唯一索引、非...

    DB2课件

    它采用了SQL标准,提供了丰富的数据类型,包括数值类型、字符串类型、日期时间类型以及BLOB和CLOB等大型对象。 其次,SQL在DB2中的应用是核心部分。SQL(Structured Query Language)用于查询、插入、更新和删除...

    db2进阶教程

    9. **高级特性**:这包括XML支持、大数据处理(如BLOB和CLOB类型)、时空数据管理、分区、以及NoSQL接口等。 10. **故障排查**:掌握如何诊断和解决常见的DB2问题,如错误日志分析、性能瓶颈识别等。 通过这个...

    Db2基本数据类型

    Db2 提供了多种二进制类型,包括 Blob 和 Clob 等。 * Blob:保存 2GB 长度以内的二进制数据。最大长度为 2G。 * Clob:保存 2GB 长度以内的单字节文本数据。最大长度为 2G。 * DbClob:保存 1GB 长度以内的双字节...

    DB2 v9.7 java development

    而DB2LobTableCreator则是一个用于处理大对象(BLOB/CLOB)的工具,帮助开发者更有效地管理和操作数据库中的大对象数据。 ### 配置属性定制 为了优化性能或满足特定的应用需求,开发者可以对IBM Data Server Driver ...

    DB2 LOB 详解

    DB2支持的LOB数据类型包括CLOB(字符型大对象)、BLOB(二进制大对象)和DBCLOB(双字节字符型大对象),这些数据类型具有远超过标准数据类型的存储能力。 在DB2中,LOB数据类型的创建和维护比传统的RDBMS对象要...

Global site tag (gtag.js) - Google Analytics