读取SQL Server 2000 中二进制文件时抛出:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can not re-read row data for column 1.
-------------------------------------------------------------------
google一下发现原因,是微软jdbc驱动包的一个BUG,
Microsoft support站点:
http://support.microsoft.com/kb/824106说明如下:
(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类型字段,都可以不按照顺序获取,或重复获取。
---------------------------------------------------------------------
提供两种解决方案:
1>Microsoft给出的方案是不能从右往左也不能连续读2次。没办法自己改代码,严格从左向右读。
2>使用第三方驱动jTDS取代微软的SQLServer2000的JDBC驱动。
要使用jTDS驱动,配置要做一些变动:
数据库URL:jdbc:jtds:sqlserver://localhost:1433;DatabaseName=XXX
驱动类:net.sourceforge.jtds.jdbc.Driver
其在sourceforge上的介绍中写到:
jTDS is an open source 100% pure Java (type 4) JDBC 3.0 driver for Microsoft SQL Server (6.5, 7, 2000 and 2005) and Sybase (10, 11, 12, 15). jTDS is based on FreeTDS and is currently the fastest production-ready JDBC driver for SQL Server and Sybase. jTDS is 100% JDBC 3.0 compatible, supporting forward-only and scrollable/updateable ResultSets, concurrent (completely independent) Statements and implementing all the DatabaseMetaData and ResultSetMetaData methods.
目前最新版本是jtds - 1.2.2
项目页:[url]http://sourceforge.net/projects/jtds/ [/url]
分享到:
相关推荐
该程序可将ORACLE中BLOB字段导入到SQL SERVER中的IMAGE字段,方便快捷。
关于在SQL Server数据库系统中存取BLOB数据的探讨.pdf
在sql server的字段中保存文件,文件大小没有限制。 字段类型2005以上是 varbinary(MAX),2000版本是image.
SQLSERVER数据库中存储BLOB类型数据,在线等现在公司要求用PB6.5+SQLser
delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段...
oracle中对blob字段的处理方法,包括增加,删除,修改,更新等操作。
kettle通过java代码将数据库blob 字段抽取到本地文件
oracle查询blob字段照片(jpeg) 像素大小sql
C#访问oracle数据库类 1、执行非查询命令 2、执行查询命令 3、带blob字段读写
SQLServer 存储 BLOB文件资料合集,如何读写数据库中的BLOB文件
判断blob字段是否为空sql,非常实用
Oracle blob字段上传下载 Oracle blob字段上传下载Oracle blob字段上传下载 Oracle blob字段上传下载
BLOB字段处理 插入和获取BLOB字段
只需要安装oracle client在本地,然后配置好tns,输入连接名,用户名,密码,数据表的名称,文件名数据列名以及blob数据列名,就可以批量导出ORACLE数据库BLOB字段生成图片
java中读取ORACLE中BLOB字段存储的图片
Oracle SQL 函数进行BLOB转换Varchar2
mysql导出工具,可导出无注释插入语句,表中字段有blob类数据,插入语句前还有锁表操作语句,适合多种场景
基于VC存取SQL Server中BLOB数据的方法.pdf
VB通过ADO访问和改变SQL Server BLOB数据库,两种功能:通过ADO保存数据到文件、保存数据到数据库。请测试前准备好SQLServer数据库并连接好。程序运行界面截图如上所示。
spring+mybatis下BLOB字段的图片存取代码,仅整理了Controller层的代码,service和dao的代码很简单,所以没有整理