• 文字サイズ変更
  • S
  • M
  • L

FAQのNo.から検索


  • No : 32737
  • 公開日時 : 2021/02/16 15:54
  • 更新日時 : 2021/02/17 12:19
  • 印刷

【DataSpider Servista】同一トランザクション内で更新済みのレコードについて[SQL実行によるデータ取得]を実行すると、更新前のデータを取得してしまいます。

[トランザクション]コンポーネント内で、DBの特定のレコードについて更新するSQLを実行後、[SQL実行によるデータ取得]ロジックを実行し、該当レコードのデータを取得すると更新前のデータを取得してしまいます。
 
原因と対応策を教えてください。
カテゴリー : 

回答

■仕様説明
 [SQL実行によるデータ取得]ロジックは、トランザクションに参加しておらず、都度クエリを発行しデータを取得しております。
 このため、データ取得結果はDB側のトランザクション分離レベルに依存します。
 
■想定される原因
 [SQL実行によるデータ取得]ロジックの実行時に同一トランザクション内の更新処理の結果がコミットされていないことが原因と想定されます。
 
■想定される対応策
 [SQL実行によるデータ取得]ロジックでデータを取得している箇所を該当のDBアダプタの[検索系SQL実行]処理に置き換えることで、更新後のデータが取得可能かご確認ください。
 
■参考
  • [SQL実行によるデータ取得]
Version Information : 
Ver.4.2、Ver.4.1、Ver.4.0
目的別で検索 : 
設定