詳細 |
WebOTX/Sがサポートする運用形態には、クライアント・トランザクション方式とサーバ・トラン
ザクション方式があります(方式の概要についてはWebOTX/Sオンラインマニュアルを参照して
下さい)。
HolonEnterprise V6.0 OV#03より、WebOTX/S連携におけるサーバ・トランザクション方式に
対応していますが、WebOTX対応プログラミング・ガイドに以下の不備がありました。
OV#03 の場合
プログラミング方法が記載されていない。
OV#04 の場合
記載内容に一部誤りがある。
以下に、HolonのWebOTX/S連携におけるサーバ・トランザクション方式のプログラミング方法を
説明します。
サーバ・プログラム
WebOTX/S連携APIを使用します。
トランザクション・オブジェクトを作成して、 トランザクションの開始、終了を行います。
以下に、プログラム例を示します。
(注) トランザクション・サービスの初期化/終了は、WebOTXサーバが自動的に行います。
;// DB接続
;// 論理データベース名:TEST01, データベース識別子:db1
rtn := &Set_DatabaseName('TEST01', 'db1')
; // OV#04 のガイドの変更箇所
;// 論理データベース名:TEST02,
データベース識別子:db2
rtn := &Set_DatabaseName('TEST02', 'db2')
; // OV#04 のガイドの変更箇所
;// WebOTXサーバ側のORB取得
rtn := TPSGetORB( orb )
;// トランザクション・オブジェクトの作成
tobj := CosTransactions_Current_create(orb, &ADDRESS(env))
;// トランザクション開始
CosTransactions_Current_begin(tobj, &ADDRESS(env))
;// TEST01 の表に対するDB参照/更新処理
(省略)
;// TEST02 の表に対するDB参照/更新処理
(省略)
(注) &SQLCHANGE_DB 関数で カレントDBを設定後、DBアクセス処理を行うこと。
;// トランザクション終了
CosTransactions_Current_commit(tobj, CORBA_TRUE, &ADDRESS(env))
(注) ロールバックする場合は次の関数を実行する。
CosTransactions_Current_rollback(tobj,&ADDRESS(env))
;// トランザクション・オブジェクトの破壊
CosTransactions_Current_destroy(tobj, &ADDRESS(env))
;// DB切断
rtn := &SQLDISCONNECT('TEST01')
rtn := &SQLDISCONNECT('TEST02')
クライアント・プログラム
クライアントプログラムは、通常のオペレーションを実行します。
|