用JDBC連接Microsoft SQL Server 2005
try出一個例外
com.microsoft.sqlserver.jdbc.SQLServerException: 不支援在順向結果集上執行要求的作業。但很奇怪的是連接MySQL都沒有這問題
connection取得已沒問題
此問題是由ResultSet定位時產生的
像是ResultSet.first()...之類的方法
從微軟的技術文件找到問題點
瞭解資料指標類型
資料指標定位
TYPE_FORWARD_ONLY、 TYPE_SS_DIRECT_FORWARD_ONLY 和 TYPE_SS_SERVER_CURSOR_FORWARD_ONLY 資料指標僅支援 next 定位方法。
TYPE_SS_SCROLL_DYNAMIC 資料指標不支援 absolute 和 getRow 方法。結合動態資料指標之 first 和 relative 方法的呼叫近似 absolute 方法。
只有 TYPE_FORWARD_ONLY、TYPE_SS_DIRECT_FORWARD_ONLY、 TYPE_SS_SERVER_CURSOR_FORWARD_ONLY、TYPE_SS_SCROLL_KEYSET 和 TYPE_SS_SCROLL_STATIC 資料指標支援 getRow 方法。具有全部順向資料指標類型的 getRow 方法會傳回目前透過資料指標讀取的資料列數目。
建立陳述式(statement)時
使用需要的TYPE
例(使用Statement):
Statement stmt = conn.createStatement(SQLServerResultSet.TYPE_SCROLL_SENSITIVE, SQLServerResultSet.CONCUR_READ_ONLY);conn為已取得的Connection物件
此時覺得寫程式跑出中文的例外頗麻煩
線上資源比英文少很多
很有幫助,謝謝。
回覆刪除