由于项目的需要.用到了大字段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中的大字段来进行读取的时候数据库连接是不能关闭的
分享到:
相关推荐
数据库中clob类型转换的问题 数据库中clob类型转换的问题
对非DB2数据库的数据复制, 不直接支持LOB(BLOB,ClOB)等大对象数据类型,但在实际应用中,用户需要复制的表中有可能有BLOB等大对象数据,如果数据目标为Oracle,这类大对象复制的需求可通过对WII的复制进行特殊配置实现...
mybatis 对clob类型转换,解决clob类型数据插入数据库报异常问题
db2字符串实用函数汇总,附加列子,实用易懂
最近在用Python编写连接数据库获取记录的脚本,其中用到了cx_Oracle模块。...db2=cx_Oracle.connect('yang/yang@127.0.0.1:1523/yangdb') 对于dsn 方式: makedsn(IP/HOST,PORT,TNSNAME) dsn=cx_Or
比如ms sql server中的image,oracle中的blob,clob,long以及db2中dbclob,graphic,long vargraphic等类型. 这个工具是本人利用闲暇时间所写,欢迎大家提意见.也可以向我索取源码. maito: henry.dhl@gmail.com ...
DBeaver 提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等等。 支持的数据库编辑 播报 DBeaver经官方测试,其支持:MySQL、Oracle、PostgreSQL、IBM ...
DBeaver Enterprise提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等等。DBeaver Enterprise经官方测试,其支持:MySQL、Oracle、PostgreSQL、IBM ...
DBeaver Enterprise提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等等。DBeaver Enterprise经官方测试,其支持:MySQL、Oracle、PostgreSQL、IBM ...
DBeaver 提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等等。 DBeaver经官方测试,其支持:MySQL、Oracle、PostgreSQL、IBM DB2、Microsoft SQL ...
DBeaver 是一个通用的数据库管理工具和 SQL 客户端,支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。DBeaver 提供一个图形界面用来查看数据库结构、执行...
DBeaver 是一个通用的数据库管理工具和 SQL 客户端,支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。DBeaver 提供一个图形界面用来查看数据库结构、执行...
DBeaver 是一个通用的数据库管理工具和 SQL 客户端,支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。DBeaver 提供一个图形界面用来查看数据库结构、执行...
DBeaver 是一个通用的数据库管理工具和 SQL 客户端,支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。DBeaver 提供一个图形界面用来查看数据库结构、执行...
DBeaver 是一个通用的数据库管理工具和 SQL 客户端,支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。DBeaver 提供一个图形界面用来查看数据库结构、执行...
DBeaver 是一个通用的数据库管理工具和 SQL 客户端,支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。DBeaver 提供一个图形界面用来查看数据库结构、执行...
DBeaver 提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构
DBeaver 是一个通用的数据库管理工具和 SQL 客户端,支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。DBeaver 提供一个图形界面用来查看数据库结构、执行...
IBM DB2、Microsoft SQL Server、 Sybase、ODBC、Java DB (Derby)、 Firebird (Interbase)、HSQLDB、 SQLite、Mimer、H2、IBM Informix、SAP MAX DB、 Cache、Ingres、Linter、Teradata和一些符合JDBC连接的数据库,...
DBeaver 是一个通用的数据库管理工具和 SQL 客户端,支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。DBeaver 提供一个图形界面用来查看数据库结构、执行...