EA Server 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
23256 | 08/02/04 08:43:17 | setComplete()・setAbort()を同時に使用する方法 By YOSHIO |
日付:2008年02月04日 08:43 発信者:YOSHIO
題名:setComplete()・setAbort()を同時に使用する方法
はじめまして、いつもPB電子会議室を利用させてもらっております。
今回は、EAServerのほうで、少しわからないことがあったので、質問したく、書き込みさせていただきました。
ノンヴィジュアルオブジェクト(NVO)を2つ使用して、更新処理を行っております。
クライアントから、AというNVOをキックしてもらい、実際の更新主処理は、BというNVOで行っております。
AのNVOの中で、データストアを生成し、該当テーブルから、データを取得し、その情報を、BというNVOに渡して
おります。
BのNVOでは、Aから貰ったデータを利用し、各テーブルに更新処理(埋め込み)を行っております。
途中でエラーが無かった場合は、AのNVOでCOMMIT(setComplete)処理を行い、エラーがあった場合には、Bの中で
ROLLBACK(SetAbort)処理を行っております。
最後に、AのNVOの中で、データストアをUPDATE(終了フラグをつけております)し、COMMIT(SetCompkete)処理を
行っております。
で、不明な点なのですが、全てがOKな場合は、SetCompleteのみが通りますので、該当データの更新処理も問
題なく終了できるのですが、ROLLBACK処理が、一度でも起こると、全てのCOMMIT処理がキャンセルされて、
AbortOnnlyになってしまします。
AのNVOを、トランザクションが必要・BのNVOを新規のトランザクションが必要としているのですが、
自分の考えが、間違っているのか、別々のトランザクションとして扱っていないみたいなのです。
この場合、どういう風に対処すれば、いいでしょうか?
ご教授いただければと思います。
付加情報:
Client SoftWare
OS Windows XP
DBMS Oracle Net 9
Browser InternetExplorer
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.