質問
[トランザクション]コンポーネント内でDBの特定のレコードを更新するSQLを実行後、[SQL実行によるデータ取得]ロジックで該当レコードを指定すると、更新前のデータを取得してしまいます。
原因と対応策を教えてください。
回答
■仕様説明
[SQL実行によるデータ取得]ロジックは、トランザクションに参加しておらず、都度クエリを発行しデータを取得しております。
そのため、データ取得結果はDB側のトランザクション分離レベルに依存します。
■原因
[SQL実行によるデータ取得]ロジックの実行時に同一トランザクション内の更新処理の結果がコミットされていないことが原因と思われます。
■対応策
[SQL実行によるデータ取得]ロジックでデータを取得している箇所を該当のDBコネクターの[検索系SQL実行]処理に置き換えることで、更新後のデータが取得可能かご確認ください。
■参考
[SQL実行によるデータ取得]
https://www.hulft.com/help/ja-jp/HULFTSquare/Content/Designer/Mapper/ExecuteSelectQuery.htm
コメント
0件のコメント
記事コメントは受け付けていません。