网络上热心人总结了JSP网站开发中微软驱动的缺点:
(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,JSP网站开发中的驱动冲突问题解决。
JSP连接ORACLE数据库时注意的一些问题
JSP中tomcat的SQL Server2000数据库连接池的配置
简单介绍Servlets和JSP的区别
JSP include指令和include行为的区别
JSP输出excel文档和中文乱码问题的解决
原文:解决JSP网站开发中的驱动冲突问题