http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240794.html
这是网上热心人总结的微软驱动的缺点及解决方案:
(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类型字段,都可以不按照顺序获取,或重复获取。
Microsoft support也提供了相关网页:http://support.microsoft.com/kb/824106描述这个问题.当然使用Sql Server 2000的第三方驱动就没有这样的问题存在。我从 网上找到jTDS取代微软的SQLServer2000的JDBC驱动,希望对大家有帮助:
要使用jTDS驱动,配置要做一些变动:
数据库URL:jdbc:jtds:sqlserver://localhost:1433;DatabaseName=test
驱动类:net.sourceforge.jtds.jdbc.Driver
其在sourceforge上的介绍中写到:
Open source JDBC 3.0 Type 4 driver for Microsoft SQL Server (6.5, 7.0, 2000 and 2005) and Sybase. jTDS is the fastest JDBC driver for MS SQL Server and is a complete implementation of the JDBC spec.
目前最新版本是1.2.2 jtds-1.2.2.jar
项目页:http://sourceforge.net/projects/jtds/
===========================
Microsoft 驱动:
数据库URL:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test
驱动类:com.microsoft.jdbc.sqlserver.SQLServerDriver
分享到:
相关推荐
面对`ResultSet cannot re-read row data for column X`这类问题时,可以通过调整读取顺序或更换JDBC驱动来解决。这两种方法都能有效避免该错误的发生,从而确保应用程序的稳定性和可靠性。对于长期维护的项目而言,...
### ResultSet对象获取数据的各种方法 在Java编程语言中,`ResultSet`对象是处理数据库查询结果的核心组件之一。它充当一个可滚动的、可更新的数据表,用于存储从数据库执行SQL语句后返回的结果集。本文将详细介绍...
Java ResultSet常用方法 Java ResultSet是Java数据库连接(JDBC)中最重要的组件之一,用于存储和处理数据库查询结果。在Java中,ResultSet对象是通过Statement对象的executeQuery()方法或prepareStatement()方法...
### Java ResultSet 常用方法详解 #### 一、ResultSet 类型概述 在Java的JDBC编程中,`ResultSet`接口用于表示从数据库查询中获取的结果集。它提供了多种方式来处理这些数据,并且根据不同的应用场景,支持不同类型...
例如,`resultSet.getInt(1)`或`resultSet.getString("columnName")`。 4. 遍历结果集:为了完整遍历ResultSet,你需要在while循环中使用next()方法,直到它返回false为止。示例代码如下: ``` while (resultSet....
- `rs.updateXXX(int column, XXX data)` 和 `rs.updateXXX(String columnName, String data)`:更新当前行指定列的值,其中XXX代表不同的数据类型,如int、double、String、Date等。 - `rs.updateRow()`:更新...
- `ResultSet.getInt(int columnIndex)`:获取整数值,其他类型也有相应的方法。 - `ResultSet.next()`:移动游标到下一行,如果还有数据则返回`true`,否则`false`。 结合`JTable`的使用,我们需要关注`TableModel...
如果列名已知,但不知其索引,则可以使用 findColumn 方法来获取其列号。 在使用 getXXX 方法时,JDBC 驱动程序会试图将基本数据转换成指定 Java 类型,然后返回适合的 Java 值。例如,如果 getXXX 方法为 ...
在遇到使用微软官方驱动时出现的问题,如“ResultSet cannot re-read row data for column”这类错误时,可以选择切换到JTDS驱动来解决。 首先,你需要从源码仓库下载JTDS驱动的最新版本,例如jtds-1.2.2.jar。由于...
1. `getColumnCount()`:返回ResultSet中的列数,这有助于你知道有多少个字段可以遍历。 2. `getColumnName(int column)`:返回指定列的名称,这对于在程序中引用特定列非常有用。 3. `getColumnLabel(int column)...
获得结果集的字段名称_ResultSet的属性要调用ResultSetMetaData的方法 在Java中,获取结果集的字段名称可以通过调用ResultSetMetaData的方法来实现。ResultSetMetaData是一个公共接口,提供了关于ResultSet对象中列...
ResultSet 转为 List ResultSet 转为 List<Map> 是一种常见的数据处理操作。在 Java 中,使用 JDBC 连接数据库时,通常会返回一个 ResultSet 对象,该对象包含了查询结果集的所有记录。为了方便数据处理和使用,...
标题中的“oracle-export-data-into-excel-file.rar_DEMO_excel oracle”表明这是一个关于将Oracle数据库中的数据导出到Excel文件的示例项目。这个DEMO适用于那些希望通过编程方式实现这一功能的初学者。标签“demo ...
Spring Data JDBC与JDBC是两种不同的数据库访问方式,它们在Java开发中有着广泛的应用。JDBC(Java Database Connectivity)是Java平台的标准API,用于与各种数据库进行交互。它提供了低级别的数据库操作,如建立...
在Java编程中,数据处理是核心任务之一,而ResultSet、JSON和List是处理数据时常见的三种数据结构。ResultSet是数据库查询结果的载体,JSON是一种轻量级的数据交换格式,而List是Java集合框架中的动态数组。本文将...
标题中的“poi根据ResultSet到处Excle源码”指的是使用Java的Apache POI库将数据库查询结果(ResultSet)转换为Excel文件的过程。Apache POI是一个流行的API,它允许开发者读写Microsoft Office格式的文件,包括...
在Java编程语言中,ResultSet是处理数据库查询结果的标准接口,它是Statement或PreparedStatement对象执行SQL查询后返回的结果集。本篇笔记将深入探讨2010年6月23日记录的一些关于ResultSet的常用操作,结合实例进行...
1. `ResultSet`接口概述: `ResultSet`接口是Java JDBC(Java Database Connectivity)的一部分,由JDBC驱动程序实现。它是一个逻辑表格,包含了执行SQL查询后返回的数据行。每一行数据可以通过调用`next()`方法来...