ヘッダーをスキップ
Oracle® Databaseユーザーズ・ガイド
11gリリース2 (11.2) for Fujitsu BS2000/OSD
E49829-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

6 openUTMでのOracle Databaseの使用

この章では、Oracle Database 11gリリース2 (11.2) for BS2000/OSDをopenUTM (Universal Transaction Monitor)で使用する場合に考慮する必要のある、Oracle Database固有の点を説明します。この章の内容は、次のとおりです。

6.1 SQLの操作

UTMアプリケーションのプログラム・ユニットでは、組込みのSQLを使用する必要があります。Oracle Call Interface (OCI)へのコールは許可されていません。

6.1.1 CONNECT

接続は、UTMタスクの起動時に暗黙的に確立されます。この接続では、open文字列に指定したデータが使用されます。プログラム・ユニットによって発行される、これ以上の明示的なCONNECT操作は許可されていません。

6.1.2 COMMIT

UTMのプログラム・ユニットでは、明示的なCOMMIT文は許可されていません。openUTMによって、PEND REFISPまたはFC操作で自動的に発行されます。

6.1.3 ROLLBACK

UTMのプログラム・ユニットでは、明示的なROLLBACK文は許可されていません。openUTMによって、PEND ERRSFRまたはRSET操作があると自動的にROLLBACK文が発行されます。

6.1.4 SAVEPOINT

UTMのプログラム・ユニットでは、SAVEPOINT文は許可されていません。

6.1.5 カーソル操作

カーソルは、PENDが実行されるまでのみ有効です。PEND KPPAまたはPR中にタスクが変更される可能性があるため、PEND KPPAまたはPRの後にOPENまたはFETCHなどの以前に入力されたカーソルに対して操作は実行できません。ただし、PEND KPの後には新しいカーソルをオープンおよびフェッチできます。PEND KPを使用するかわりに、端末より入力があるまで待機する、PGWTコール(openUTMのCOBOL、CおよびC++でのKDCSを使用したアプリケーションのプログラミングに関するマニュアルを参照)を使用するか、またはPEND PAまたはPRの後のプログラムに同じTACCLASSを割り当てます。

6.1.6 動的SQL

『Oracle Database Oracleプリコンパイラのためのプログラマーズ・ガイド』で説明する動的SQLを使用できます。

6.1.7 PL/SQL

UTMで実行するPL/SQLプログラムでは、COMMITROLLBACKCONNECTおよびSAVEPOINT文は許可されていません。

6.1.8 自動コミット

自動コミットは、Oracle DatabaseとUTMトランザクション間の同期を妨害するため避ける必要があります。DDL操作には暗黙の自動コミットがしばしば含まれるため、これの使用にも注意してください。

たとえば、CREATE TABLE、DROP TABLEおよびCREATE INDEXなどのDDL文は保留中の操作を強制的にコミットするため、グローバルなトランザクションでは許可されていません。

6.2 UTM操作

この項では、UTMの操作をするときに考慮する必要のあるOracle Database固有の点について説明します。この項では、PEND (Program Unit End)およびRSET (Reset)操作について説明します。これらの操作は、openUTMおよびOracle Database間の共通の同期ポイントを示します。

PENDコールを発行する場合、UTMは同期のために内部でOracle Databaseをコールます。PENDが実行される場合、次が行われます。

6.2.1 RSETおよびPEND RS

UTMトランザクションのリセットは、Oracle Databaseのトランザクションをロール・バックすることを意味します。

6.2.2 PEND ERおよびPEND FR

UTMトランザクションを停止するためにこのコールを使用する場合、Oracle Databaseのトランザクションもロール・バックされます。

6.2.3 PEND KP、PEND PRおよびPEND PA

これらの操作は、対応するOracle Databaseトランザクションには影響せずに、UTMダイアログの手順のみを終了させます。

6.2.4 PEND RE、PEND FI、PEND SPおよびPEND FC

これらのPENDコールは、COMMITを暗黙的に実行させます。明示的に閉じられていないすべてのカーソルは閉じられます。