今天在写程序的时候发现了一个很奇怪的问题“ResultSet can not re-read row data for column”,用google一搜,原来是微软公司的驱动的兼容性不太好。有热心人总结了微软驱动的缺点:(1)如果采用jdbc-odbc驱动,那么就必须按照查询顺序来一次读取(不论有没有image或text类型)
(2)如果采用微软提供的ms sql server jdbc driver,如果查询语句中,不存在image或text类型字段,那么可以按照无序获取
(3)如果采用微软提供的ms sql server jdbc driver,如果查询语句中,存在image或text类型字段,那么就必须按照顺序读取,否则就会报告Driver]ResultSet can not re-read row data for column之类的错误
(4)如果想不查询语句中有没有image或text类型字段,都可以不按照顺序获取,或重复获取。那么就必须更换驱动,改用第三方的。
最后,我改用了第三方的驱动。测试成功。
第三方驱动用的是net.sourceforge.jtds.jdbc.Driver
分享到:
相关推荐
在使用Java连接SQL Server 2000数据库时,可能会遇到`java.sql.SQLException: [Microsoft][SQL Server 2000 Driver for JDBC] ResultSet cannot re-read row data for column X`这样的异常。这个问题通常是由于SQL ...
### ResultSet对象获取数据的各种方法 在Java编程语言中,`ResultSet`对象是处理数据库查询结果的核心组件之一。它充当一个可滚动的、可更新的数据表,用于存储从数据库执行SQL语句后返回的结果集。本文将详细介绍...
- ResultSet是执行查询后返回的结果集,可以遍历获取每一行数据。 5. **事务管理** - 在Java中,Connection对象提供了beginTransaction(), commit(), rollback()等方法,用于控制数据库事务的开始、提交和回滚,...
在遇到使用微软官方驱动时出现的问题,如“ResultSet cannot re-read row data for column”这类错误时,可以选择切换到JTDS驱动来解决。 首先,你需要从源码仓库下载JTDS驱动的最新版本,例如jtds-1.2.2.jar。由于...
标题中的“oracle-export-data-into-excel-file.rar_DEMO_excel oracle”表明这是一个关于将Oracle数据库中的数据导出到Excel文件的示例项目。这个DEMO适用于那些希望通过编程方式实现这一功能的初学者。标签“demo ...
例如,`resultSet.getInt(1)`或`resultSet.getString("columnName")`。 4. 遍历结果集:为了完整遍历ResultSet,你需要在while循环中使用next()方法,直到它返回false为止。示例代码如下: ``` while (resultSet....
- **resultSetConcurrency**:定义ResultSet的并发性,可以是`ResultSet.CONCUR_READ_ONLY`或`ResultSet.CONCUR_UPDATABLE`。 - **ResultSet.CONCUR_READ_ONLY**:表示ResultSet只能读取,不能更新。 - **...
- `Object getValueAt(int row, int column)`:返回指定行和列的值,这将被`JTable`用于绘制单元格。 通过理解以上概念和方法,开发者可以有效地将数据库查询结果展示在`JTable`上,提供给用户友好的交互式视图。...
Spring Data JDBC与JDBC是两种不同的数据库访问方式,它们在Java开发中有着广泛的应用。JDBC(Java Database Connectivity)是Java平台的标准API,用于与各种数据库进行交互。它提供了低级别的数据库操作,如建立...
ResultSet resultSet = statement.executeQuery(); if (resultSet.next()) { Clob retrievedClob = resultSet.getClob(1); String content = retrievedClob.getSubString(1, (int) retrievedClob.length()); ...
而"ResultSet to XML Converter"是一个开源项目,它的目标是帮助开发者将数据库查询结果,即ResultSet对象,转化为XML文件,以便于数据的保存或与其他系统进行数据交互。 ResultSet是Java数据库连接(JDBC)中的一...
ResultSet是Java数据库连接(JDBC)中的一个重要接口,它用于存储和检索数据库查询结果。当执行SQL查询后,结果会被封装成ResultSet对象,允许我们逐行遍历并访问查询返回的数据。在处理ResultSet时,了解其属性和元...
增加了拦截和记录sql查询的功能,包括拦截大多数Connection , Statement和ResultSet方法调用 -增加了拦截所有查询以及Connection , Statement和ResultSet方法调用的功能 添加连接池指标(jmx,codahale,...
resultSetConcurrency指定ResultSet的并发类型,可以是ResultSet.CONCUR_READ_ONLY或ResultSet.CONCUR_UPDATABLE之一。 ResultSet类型 ResultSet类型决定了ResultSet对象的行为,可以是以下三种类型之一: 1. ...
Java 数据库连接 ResultSet Java 数据库连接中的 ResultSet 是一个非常重要的概念,它包含符合 SQL 语句中条件的所有行,并且提供了对这些行中数据的访问。ResultSet 通过一套 get 方法访问当前行中的不同列,例如 ...
在Java编程中,数据处理是核心任务之一,而ResultSet、JSON和List是处理数据时常见的三种数据结构。ResultSet是数据库查询结果的载体,JSON是一种轻量级的数据交换格式,而List是Java集合框架中的动态数组。本文将...
ResultSet 转为 List ResultSet 转为 List<Map> 是一种常见的数据处理操作。在 Java 中,使用 JDBC 连接数据库时,通常会返回一个 ResultSet 对象,该对象包含了查询结果集的所有记录。为了方便数据处理和使用,...
Blog-Art.-09-Java-ResultSet-To-List 将ResultSet转换为Map对象的列表。 JdbcUtil类与静态方法一起使用。 该项目是使用NetBeans 8开发的。 环聊SpringMVC: ://youtu.be/clBK-R8LChM Spring-MYBATIS: ://youtu.be...
在Java编程语言中,ResultSet是处理数据库查询结果的标准接口,它是Statement或PreparedStatement对象执行SQL查询后返回的结果集。本篇笔记将深入探讨2010年6月23日记录的一些关于ResultSet的常用操作,结合实例进行...
标题中的“poi根据ResultSet到处Excle源码”指的是使用Java的Apache POI库将数据库查询结果(ResultSet)转换为Excel文件的过程。Apache POI是一个流行的API,它允许开发者读写Microsoft Office格式的文件,包括...