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();
にありますか? 、私はわからないが、SQL Serverには、すでにResultSet
にclose()
を呼び出すことによって閉鎖されていない場合にのみ、ResultSet
を反復処理することができ、2005年
おかげ
ありがとう、これはここの状況はありません、私はexecuteQueryを実行した後に直接行きたいです。 – Waseem
これがtryブロック内で発生した場合、JDBCドライバにバグがあるか、ローカルメソッド変数ではなくクラス変数として宣言された 'ResultSet'を持つなど、コード設計に深刻な問題があります。 )。 JDBCコードが通常のJDBCイディオムで記述されているかどうかを調べてみてください。 – BalusC
@ BalusCなぜResultSetを引数として渡すのが貧弱な設計なのですか? –