チケット #4418

executeBatchでのログ出力SQLのパラメータ
登録: 2004-06-06 01:29 最終更新: 2004-06-06 01:29

報告者:
担当者:
(未割り当て)
チケットの種類:
状況:
オープン
コンポーネント:
(未割り当て)
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし
ファイル:
1

詳細

executeBatchでの
ログ出力SQLのパラメータが、すべて最後のパラメータで置き換わってました。
ソースをみると、固定SQLしかリストに足されていないので、
そうなってしまうようです。
addBatchの時点で、置き換えてしまってから、
batchSqlListに足すと、解決できると思います。

// ------- テストコード ----------
PreparedStatement pst =
con.prepareStatement("INSERT INTO AMSTEST1
VALUES(?)");

for (int i = 0; i < 3; i++) {
pst.setString(1, "sam" + i);
pst.addBatch();
}

pst.executeBatch();

// こういうエントリがあるべき
assertLogEntry("ms executeBatch INSERT INTO AMSTEST1
VALUES('sam0'), result 1");
assertLogEntry("ms executeBatch INSERT INTO AMSTEST1
VALUES('sam1'), result 1");
assertLogEntry("ms executeBatch INSERT INTO AMSTEST1
VALUES('sam2'), result 1");


// ------- ログ出力 ----------
// 全部パラメータがsam2になってます
## JDBC Debug ##
2004/06/06 01:09:18 22ms executeBatch INSERT INTO
AMSTEST1 VALUES('sam2'), result 1
## JDBC Debug ##
2004/06/06 01:09:18 24ms executeBatch INSERT INTO
AMSTEST1 VALUES('sam2'), result 1
## JDBC Debug ##
2004/06/06 01:09:18 25ms executeBatch INSERT INTO
AMSTEST1 VALUES('sam2'), result 1

チケットの履歴 (1 件中 1 件表示)

2004-06-06 01:29 更新者: sgytom
  • 添付ファイル 958: JDBCDebugTest007_pgsql.java が付加されました

添付ファイルリスト

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする