Uploaded image for project: 'S2Dao'
  1. S2Dao
  2. DAO-42

[Seasar-user:4647] S2Pager使用時にFOR UPDATEのSQL文が例外になる

XMLWordPrintable

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major Major
    • 1.0.39
    • Affects Version/s: 1.0.35
    • Component/s: None
    • None
    • Environment:
      ・s2-extension-2.3.11
      ・s2-framework-2.3.11
      ・s2-dao-1.0.35.jar
      ・DB2 V8.2

      S2Daoを使用して、For Updateしたselect文のSQLを発行したところ「FOR UPDATE 文節が読み取り専用カーソルに指定されている 」といった例外が発生しました。
      ※ちなみに、S2DAOを使用せずに、直接JDBCで同じSQLを発行したところ例外は発生しませんでした。

      dao.diconの設定で、「useScrollCursor」プロパティに「true」を設定しているのが影響しているかと思い、「false」にしてみましたが結果は同じでした。

      dicon等の設定で、カーソルの指定をどこで行っているかわかりませんでした。
      恐れ入りますが、対応方法を何かご存知の方はいらっしゃいませんでしょうか?
      よろしくお願いします。

      【エラー内容】
      org.seasar.framework.exception.SQLRuntimeException: [ESSR0071]SQLで例外(ErrorCode=-228, SQLState=42620)が発生しました。
      理由はorg.seasar.framework.exception.SSQLException: [ESSR0072]SQLで例外(SQL
      =[
      select aaaa, bbbb, cccc
      from hoge_tb
      where
      aaaa = ?
      and bbbb = ?
      and cccc = ?
      for update
      ], ErrorCode=-228, SQLState=42620)が発生しました
      at org.seasar.framework.util.PreparedStatementUtil.executeQuery(PreparedStatementUtil.java:37)
      at org.seasar.extension.jdbc.impl.BasicResultSetFactory.createResultSet(BasicResultSetFactory.java:36)
      at org.seasar.dao.pager.PagerResultSetFactoryWrapper.createResultSet(PagerResultSetFactoryWrapper.java:63)
      at org.seasar.extension.jdbc.impl.BasicSelectHandler.createResultSet(BasicSelectHandler.java:173)
      at org.seasar.extension.jdbc.impl.BasicSelectHandler.execute(BasicSelectHandler.java:162)
      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:55)
      at org.seasar.dao.interceptors.S2DaoInterceptor.invoke(S2DaoInterceptor.java:53)
      at org.seasar.dao.pager.PagerS2DaoInterceptorWrapper.invoke(PagerS2DaoInterceptorWrapper.java:64)
      at org.seasar.framework.aop.impl.NestedMethodInvocation.proceed(NestedMethodInvocation.java:43)
      at org.seasar.framework.aop.interceptors.InterceptorChain.invoke(InterceptorChain.java:42)

            Assignee:
            manhole manhole
            Reporter:
            manhole manhole
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: