投稿者 FORZA  (社会人) 投稿日時 2011/10/3 21:08:37
>整合性を問題としているなら、トランザクション処理でまとめ、
>接続が切れたらロールバックとすべきでは?
ロック~更新にトランザクションをかけています。
接続が切れたら自動的にトランザクションはロールバックされロックは解除されますよね?
接続が切れてもトランザクションやロックを維持することはできるんですか?

>また、在庫引き当てとかである処理ですが、
>単純に長時間編集中であることを維持したいなら、データとして
>編集中の情報を書き込んでおけばいいだけでは?
編集中であるという情報をデータとして書き込むというのは私も考えていました。
ただ、なにか他にスマートな方法はないものかと相談させていただきました。

現行ではユーザーが既存のデータを編集している間は常にロックがかかるようになっています。
このようにデータをロックする時間がユーザーの操作により長時間におよぶ可能性がある場合、
やはりSQL Serverのロックに頼らず上記の方法で、アプリ側で独自に制御するしかないのでしょうか。
むしろこれが正当なやり方なのでしょうか。