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 (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.