JMeter2.2にて、JDBC Requestサンプラーを利用し、Oracle10.2.0に対してInsertを実行するテスト計画を作成しています。


Insert文を8回実行後、そのスレッドに対してcommitしたいのですが、JDBC Requestの度に毎回commitされてしまいます。
JDBC Connection Configurationにて、AutoCommitをfalseに設定しても状況が変わらず、最後のJDBC Requestにてrollbackを実行してもcommitされてしまいます。

JMeterでは、スレッド毎にいくつかのInsert文を束ねて一気にcommitしたり、rollbackしたりすることはできないのでしょうか?

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:
  • 終了:2007/05/26 23:45:45
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:wnagata No.1

回答回数170ベストアンサー獲得回数18

ポイント100pt

org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler

のソースを見てみたところ、

119行目で

int updateCount = stmt.getUpdateCount();

とInsert文を実行した直後にコミットもロールバックもせずにConnectionがクローズされています。

そのような場合、JDBC仕様的には、コミットとされるかロールバックされるか定かではありませんが、Oracleではコミットされます。

http://q.hatena.ne.jp/1143714718

JMeter2.2では、トランザクションを細かく制御することはできないというのが結論です。

id:beti

ご回答ありがとうございました。

#仕様であればしょうがないですね・・・・。

2007/05/26 23:44:48

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません