2011-02-01 160 views
1

我想使用jtds運行StoredProcedure。java.sql.SQLException:無效狀態,ResultSet對象關閉

java.sql.SQLException: Invalid state, the ResultSet object is closed. 
     at net.sourceforge.jtds.jdbc.JtdsResultSet.checkOpen(JtdsResultSet.java:299) 
     at net.sourceforge.jtds.jdbc.JtdsResultSet.first(JtdsResultSet.java:527) 
     at com.verint.impact360.WFM_plugins.CCE.CCEASCMAdapter.runReport(CCEASCMAdapter.java:238) 
     at com.verint.impact360.WFM_plugins.CCE.CCEASCMAdapter.retrieveData(CCEASCMAdapter.java:131) 
     at com.bluepumpkin.Plugins.PTeXtender.GenericDCSPlugin.retrieveStatisticsData(GenericDCSPlugin.java:332) 
     at com.bluepumpkin.Plugins.PTeXtender.GenericDCSPlugin.start(GenericDCSPlugin.java:68) 
     at com.verint.impact360.WFM_plugins.CCE.CCEASCMAdapter.main(CCEASCMAdapter.java:75) 
Logger.logStackTrace():----- End Stack Trace ------ 

這是否與SQL Server 2008中: 試圖去對結果集,我得到了異常時,我的數據庫是SQL Server 2008的

private String DRIVER_NAME_VALUE = "net.sourceforge.jtds.jdbc.Driver"; 
private String URL_VALUE = "jdbc:jtds:sqlserver://"; 
... 
cstmt =dbConnection.getCallableStatement("{? = call dbo.GetAgentStats (?)}"); 
. 
. 
. 
rs = cstmt.executeQuery(); 

? 我不知道,但connectig到SQL Server 2005

感謝

回答

5

時尚未通過調用ResultSetclose()關閉您只能在ResultSet迭代時,我沒有這個錯誤, Statement和/或Connection

如果您的實際意圖是將ResultSet的內容超出創建該方法的範圍,那麼您應該先將其映射到List<SomeObject>,然後將其返回。或者,如果您的實際意圖是將其傳遞給其他類別/方法,該類別/方法會將ResultSet作爲參數(這是由於其本身設計不佳,但不在此限),那麼您應該在同一個try塊內執行該操作ResultSet已創建。

+0

謝謝,這裏沒有這種情況,我想在runnng executeQuery之後直接查看它。 – Waseem 2011-02-01 16:23:46

相關問題