转载

解决JSP网站开发中的驱动冲突问题

网络上热心人总结了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

  1. package com.database;  
  2. import java.sql.*;  
  3. public class DbConn {  
  4. //private static String driverName ="com.microsoft.jdbc.sqlserver.SQLServerDriver";  
  5. //private static String dbURL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jsp";  
  6. //原来的连接,jsp是数据库文件 http://www.dwww.cn   
  7. private static String driverName ="net.sourceforge.jtds.jdbc.Driver";  
  8. private static String dbURL="jdbc:jtds:sqlserver://localhost:1433/jsp";  
  9. private String userName="dwww";  
  10. private String userPwd="dwww";  
  11. public Connection dbConn=null;  
  12. public synchronized Connection getConnection()  
  13. {  
  14. try  
  15. {  
  16. Class.forName(driverName).newInstance();  
  17. dbConn=DriverManager.getConnection(dbURL, userName, userPwd);  
  18. if(dbConn!=null)  
  19. return dbConn;  
  20. }  
  21. catch(Exception e)  
  22. {  
  23. e.printStackTrace();  
  24. return null;  
  25. }  
  26. return null;  
  27. }  

Ok,JSP网站开发中的驱动冲突问题解决。

正文到此结束
Loading...