小編給大家分享一下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相關問題如何處理”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。