[Seasar-user:6789] Re: S2Dao,S2Pager 実際のデータ件数より大きいオフセット値を指定するとSqlExceptionになる

Hirotaka HONMA [E-MAIL ADDRESS DELETED]
2007年 3月 20日 (火) 21:29:42 JST


本間です。

on Tue, 20 Mar 2007 19:21:05 +0900
in [Seasar-user:6787] S2Dao,S2Pager 実際のデータ件数より大きいオフセット値を指定するとSqlExceptionになる
寺尾 浩平 <[E-MAIL ADDRESS DELETED]> wrote:

> S2DaoとS2Pagerを利用してデータをSELECTする際に
> 実際のデータ件数より大きいオフセット値を指定すると
> SqlExceptionがスローされてしまいます。
> このケースは正常系にするのが普通なので
> S2Daoでnullを返すように
> していただけないでしょうか?

手元にDB2環境が無いため手探りなのですが...

> *********************************************
> Exception Type: com.ibm.db2.jcc.a.SqlException
> Message: [ibm][db2][jcc][10120][10898] 操作が無効です: result set はクローズされています。
> 
> StackTrace:
> *********************************************
> at com.ibm.db2.jcc.a.cg.mb(cg.java:3224)
> at com.ibm.db2.jcc.a.cg.q(cg.java:1261)
> at com.ibm.db2.jcc.a.cg.getMetaData(cg.java:1253)
> at org.seasar.extension.jdbc.impl.ResultSetWrapper.getMetaData(ResultSetWrapper.java:728)
> at org.seasar.dao.impl.BeanListMetaDataResultSetHandler.handle(BeanListMetaDataResultSetHandler.java:45)
> at org.seasar.extension.jdbc.impl.BasicSelectHandler.execute(BasicSelectHandler.java:163)
> at org.seasar.extension.jdbc.impl.BasicSelectHandler.execute(BasicSelectHandler.java:135)
> at org.seasar.extension.jdbc.impl.BasicSelectHandler.execute(BasicSelectHandler.java:120)
> at org.seasar.dao.impl.SelectDynamicCommand.execute(SelectDynamicCommand.java:60)

スタックトレースにPagerResultSetWrapperが含まれていないのが
気になりました。
(Pagerが効いている場合はResultSetWrapperのあたり登場すると思
います)

j2ee.diconでorg.seasar.dao.pager.PagerResultSetFactoryWrapper
が登録されているかご確認いただけますか?

(もしくはお送りくださってもかまいません。dao.diconをカスタマ
イズされている場合は、こちらも頂けましたらと思います。)

よろしくお願いいたします。




Seasar-user メーリングリストの案内