千家信息网

JSP网站开发中微软驱动引发的ResultSet相关问题如何处理

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,小编给大家分享一下JSP网站开发中微软驱动引发的ResultSet相关问题如何处理,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在做JSP网站开发(JSP+sqlserver)中遇到
千家信息网最后更新 2025年01月20日JSP网站开发中微软驱动引发的ResultSet相关问题如何处理

小编给大家分享一下JSP网站开发中微软驱动引发的ResultSet相关问题如何处理,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

在做JSP网站开发(JSP+sqlserver)中遇到"ResultSet can not re-read row data for column 1"问题,在网上搜索得知,原来是微软驱动的兼容性不太好。

有热心人总结了微软驱动的缺点:

(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类型字段,都可以不按照顺序获取,或重复获取。那么就必须更换此微软驱动,改用第三方的。

解决方法:

下载JDTS驱动(支持SQL6.5,7.0,2000,2005,SYBASE):http://jtds.sourceforge.net/

下载解压后找到jtds-1.2.2.jar,放到 JSP项目 WEB-INF/lib目录下

数据库连接文件DbConn.java

package com.database;  import java.sql.*;   public class DbConn {   //private static String driverName ="com.microsoft.jdbc.sqlserver.SQLServerDriver";  //private static String dbURL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jsp";  //原来的连接,jsp是数据库文件 http://www.dwww.cn   private static String driverName ="net.sourceforge.jtds.jdbc.Driver";  private static String dbURL="jdbc:jtds:sqlserver://localhost:1433/jsp";   private String userName="dwww";  private String userPwd="dwww";  public Connection dbConn=null;    public synchronized Connection getConnection()  {  try {  Class.forName(driverName).newInstance();  dbConn=DriverManager.getConnection(dbURL, userName, userPwd);  if(dbConn!=null)  return dbConn;  }  catch(Exception e)  {  e.printStackTrace();  return null;  }  return null;  }    }

Ok,ResultSet相关问题解决。

看完了这篇文章,相信你对"JSP网站开发中微软驱动引发的ResultSet相关问题如何处理"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

0