[Seasar-user:9239] Re: [S2Dao]バッチ更新時の戻り値について

Ogino Yosihko [E-MAIL ADDRESS DELETED]
2007年 7月 19日 (木) 11:46:30 JST


小林様、

早速のご回答ありがとうございます。荻野です。

Oracleのjdbcドライバは、以下です。
>ojdbc14  10.2.0.2.0
最新だと思います。

S2を使わないで、
stmt.addBatch("...");
stmt.addBatch("...");
stmt.addBatch("...");

int[] updateCounts = stmt.exeuteBatch();

としたところ、正常に更新した場合には、
updateCounts[]の内容は更新した行数が含まれていました。
また、正常に更新できなかった場合は、
updateCounts[]の内容は、更新できなかったものに関して、0が入っていました。

この戻り値int[] を返していただければ、ハンドリングできそうです。


ちなみに、S2Daoでは、
AbstractBatchAutoHandler
s2jdbcでは、
BasicBatchHandler
のあたりが関わってくるところだと思われます。


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


>From: Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>
>Reply-To: [E-MAIL ADDRESS DELETED]
>To: [E-MAIL ADDRESS DELETED]
>Subject: [Seasar-user:9231] Re: [S2Dao]バッチ更新時の戻り値について
>Date: Wed, 18 Jul 2007 20:00:25 +0900
>
>小林 (koichik) です.
>
>Date:    Wed, 18 Jul 2007 10:35:25 +0000
>From:    "Ogino Yosihko" <[E-MAIL ADDRESS DELETED]>
>To:       [E-MAIL ADDRESS DELETED]
>Subject: [Seasar-user:9228] [S2Dao]バッチ更新時の戻り値について
>
> > バッチ更新が正常に終了したのか、そうでなかったかのハンドリングができるよ
う
> > に、
> > なりませんでしょうか。
>
>Oracle の JDBC ドライバがバッチ更新で更新した行数を
>返さない以上,S2Dao 等ではどうにもなりません.
>どうしても更新した行数が必要ならバッチ更新を
>やめるしかないと思います.
>
>P.S.
>Oracle のドライバが更新した行数を返さないと
>いうのは,もしかしたら最新のドライバでは
>改善されているかもしれないので,お使いの
>ドライバで確認してみてください.
>
>
>P.P.S
>[Seasar-user:2104] で書いた
>
> > > S2Dao としては,DAO メソッドの戻り値型が int[] だったら
> > > Statement#executeBatch() が返す結果をそのまま返すのが
> > > いいのではないでしょうか?
>
>って対処されたんでしょうか?>S2Dao コミッタの方
>ドキュメントには記載されてないようですが.
>
>
>--
><signature>
>    <name>Koichi Kobayashi</name>
>    <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
></signature>
>
>_______________________________________________
>Seasar-user mailing list
>[E-MAIL ADDRESS DELETED]
>https://ml.seasar.org/mailman/listinfo/seasar-user

_________________________________________________________________
スムーズな検索機能や役立つ最新情報を無料でフルに活用できるMSN版IE7をダウン
ロード http://promotion.msn.co.jp/ie7/ 



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