B ゲートウェイRPCインタフェース
Oracle Database Gateway for APPCを使用してリモート・トランザクション・プログラムを実行するには、リモート・プロシージャ・コール(RPC)を使用して、ゲートウェイ関数を呼び出すPL/SQLプログラムを実行する必要があります。 ゲートウェイ機能は、リモート・トランザクション・プログラムとのゲートウェイ対話の開始、データ交換、および終了を処理します。
Oracle Database Gateway for APPCには、COBOLレコード・レイアウトとPGDL (Procedural Gateway Definition Language)の形式で提供する定義に基づいて、自動的にPL/SQLパッケージ(TIP)を生成するツールPGAUが含まれています。
ゲートウェイ関数はすべてリモート・プロシージャ・コール(RPC)によって実行されます。 この関数は、次のようにPL/SQLコードから呼び出されます:
function@dblink(parm1,parm2,...,parmn);
「表B-1」がこの構文のパラメータを記述する場所:
表B-1 ゲートウェイ機能
項目 | 説明 |
---|---|
|
呼び出される関数の名前です。 |
|
Windowsシステム上のゲートウェイ・サーバーへの事前定義データベース・リンクの名前です。 |
|
この付録で後述する関数固有のパラメータです。 |
関数名に続く@dblink
表記でPL/SQLコード内の関数を呼び出すのは、リモート・プロシージャ・コールです。
PGAINITとPGAINIT_SEC
PGAINIT
とPGAINIT_SEC
は、指定されたトランザクション・プログラムとのAPPC会話を開始するリモート・プロシージャ・コールです。 この2つの違いは、PGAINIT_SEC
に、ゲートウェイの会話セキュリティのユーザーIDとパスワードを現在のOracleユーザーIDとパスワード以外の値に設定できるという追加機能が含まれていることです。 いずれかの機能が正常に完了すると、会話はリモート・トランザクション・プログラムにデータを送信する準備ができている。
「表B-2」は、両方の手順で共通のPGAINIT
およびPGAINIT_SEC
パラメータを表示します。 各パラメータのタイプ、データ型、および説明がリストされています:
表B-2 共通のPGAINITおよびPGAINIT_SECパラメータ
パラメータ | タイプ | データ型 | 説明 |
---|---|---|---|
|
|
|
SNAを使用するゲートウェイの場合: TCP/IPを使用するゲートウェイの場合: |
|
|
|
会話を確立するためのリモート・トランザクション・プログラムのトランザクション・プログラム名。 ほとんどのOLTPでは、名前はOLTPに定義されたトランザクション名でなければなりません。 この名前は、 「注意: TCP/IPのサポート」、最大サイズは8文字です。 詳細については、または「Oracle Database Gateway for APPCインストールと構成ガイドfor Microsoft Windows」の付録B、"TCP/IP通信プロトコルのゲートウェイ初期化パラメータ"を参照してください。 |
|
|
|
SNAを使用するゲートウェイの場合:リモート・トランザクション・プログラムが実行されるOLTPのLU名。 このパラメータは、完全修飾LU名または別名で、1〜17文字の長さにすることができます。 TCP/IPを使用するゲートウェイの場合: このパラメータは適用されません。 |
|
|
|
SNAを使用するゲートウェイの場合: APPC会話のセッション特性を定義するリモート・ホスト上のログ・モード表項目のログ・モード項目名。 この名前の長さは1〜8文字です。 TCP/IPを使用するゲートウェイの場合:このパラメータは適用されません。 |
|
|
|
会話を定義するSNAサイド情報プロファイルのプロファイル名。 この名前の長さは1〜8文字です。 TCP/IPを使用するゲートウェイの場合:この名前は、同様のTCP/IPとIMS Connect属性に類似したIMSトランザクションのグループを表します。 |
|
|
|
この会話のための
|
「表B-3」は、プロシージャに固有のPGAINIT_SEC
パラメータをリストします:
表B-3 プロシージャ固有のPGAINIT_SECパラメータ
パラメータ | タイプ | データ型 | 説明 |
---|---|---|---|
|
|
|
ターゲットOLTPに渡す会話セキュリティ・ユーザーID。 値は1〜8文字の長さでなければなりません。 |
|
|
|
ターゲットOLTPに渡す会話セキュリティ・パスワード。 値は1〜8文字の長さでなければなりません。 |
SNAプロトコルを使用するゲートウェイの場合:
PROFNAME
とLUNAME
/TPNAME
/MODENAME
の間には相互関係があります。 PROFNAME
が空白またはヌル値に設定されている場合、LUNAME
、TPNAME
、およびMODENAME
パラメータはすべて非ブランク値である必要があります。 すべてが空白でない値に設定されていない場合は、例外が生成されます。 ただし、PROFNAME
が有効なSide情報プロファイル名に設定されている場合、LUNAME
、TPNAME
、およびMODENAME
パラメータは、サイド情報プロファイルが会話を確立するために必要なすべての情報を指定するため、nullまたは空白にすることができます。 この場合、LUNAME
、TPNAME
、またはMODENAME
に指定された空白でないnull以外の値は、サイド情報profile. PROFNAME
に設定された値をオーバーライドする必要があります。ブランクまたはヌルにすることはできません。
TCP/IPプロトコルを使用するゲートウェイの場合:
PROFNAME
およびTPNAME
は設定する必要があり、空白またはヌルにすることはできません。
PGAXFER
PGAXFER
は、PGAINIT
で初期化されたゲートウェイの会話でリモート・トランザクション・プログラムとの間でデータを転送するために呼び出されます。 この関数は、呼び出しパラメータに基づいてデータ・アイテムを送信および/または受信します。
「表B-4」は、PGAXFER
パラメータのタイプ、データ型および説明をリストします:
表B-4 PGAXFERパラメータ
パラメータ | タイプ | データ型 | 説明 |
---|---|---|---|
|
|
|
SNAを使用するゲートウェイの場合:会話を識別するために使用される TCP/IPを使用するゲートウェイの場合:会話を識別するために使用される |
|
|
|
リモート・トランザクション・プログラムに送信されるすべてのデータ・アイテムを含むバッファ。 データ・アイテムは変更なしでそのまま送信されます。 データ・アイテムは、リモート・トランザクション・プログラムが受け取ることを期待する順序でバッファに表示する必要があります。 すべてのデータ・アイテムの合計サイズは、1つのゲートウェイ送信の最大サイズを超えることはできません。これは、マップされたゲートウェイ通信の |
|
|
|
|
|
|
|
|
|
|
|
リモート・トランザクション・プログラムから受信したすべてのデータ・アイテムを格納するバッファ。 データ・アイテムは、リモート・トランザクション・プログラムがそれらを送信するのと同じ順序でこのバッファに格納されます。 すべてのデータ・アイテムの合計サイズは、 |
|
|
|
受信バッファの合計長。 範囲は |
|
|
|
|
PGAXFER
が呼び出されると、SENDBUFL
とRECVBUFL
の一方または両方がゼロでない必要があります。言い換えれば、少なくとも1つのデータ・アイテムをリモート・トランザクション・プログラムと送受信する必要があります。 PGAXFER
が送信または受信するデータ・アイテムなしで呼び出された場合、例外が生成されます。
注意:
各PGAXFER
コールでは、すべての送信処理が最初に行われ、続いてすべての受信処理が行われます。 トランザクションが送受信の複数のセットを必要とするように動作する場合、PGAXFER
はトランザクションを受け入れるために複数回呼び出すことができます。 32,763
バイト以上のデータを送受信する場合は、PGAXFER
への複数の呼び出しを行う必要があります。
PGATERM
PGATERM
は、以前のPGAINIT
の呼び出しによって開始されたゲートウェイの会話を終了するために呼び出されます。 この機能が正常に完了すると、会話の割り当てが解除され、会話に関連するすべてのストレージが解放されます。
「表B-5」は、PGATERM
パラメータのタイプ、データ型、および説明を表示します:
表B-5 PGATERMのパラメータ
パラメータ | タイプ | データ型 | 説明 |
---|---|---|---|
|
|
|
SNAを使用するゲートウェイの場合:会話を識別するために使用される 使用するゲートウェイの場合 TCP/IP: 会話を識別するために使用される |
|
|
|
実行されるべき終端のタイプ。 |
PGATCTL
PGATCTL
は、UNIXベースのシステム上のMicrosoftまたは$ORACLE_HOME/dg4appc/admin/initsid.ora
ファイルの%ORACLE_HOME%\dg4appc\admin\initsid.ora
ファイルのTRACE_LEVEL
パラメータによって呼び出されます。 PGATCTL
を使用すると、PL/SQLストアド・プロシージャ内からトレース・レベルを動的に変更できます。 この機能は、新しいPL/SQLアプリケーションをデバッグする場合に便利です。
表B-6は、PGATCTL
のパラメータの型、データ型、および説明を表示します:
表B-6 PGATCTLのパラメータ
パラメータ | タイプ | データ型 | 説明 |
---|---|---|---|
|
|
|
SNAを使用するゲートウェイの場合: 会話を識別するために使用される 使用するゲートウェイの場合 TCP/IP: 会話を識別するために使用される |
|
|
|
トレース制御機能を実行します。 有効な値は、次のとおりです。 ' ' ' |
|
|
|
トレース・フラグ。
または「Oracle Database Gateway for APPCインストールと構成ガイドfor Microsoft Windows」の付録B、"TCP/IP通信プロトコルのゲートウェイ初期化パラメータ"を参照してください。 |
PGATRAC
この関数は、ユーザー・データの行をPGAトレース・ファイルに書き込むために呼び出されます。 PGATRAC
を使用すると、PL/SQLプロシージャ内のフローは、UNIXベースのシステム上のMicrosoft Windowsまたは$ORACLE_HOME/dg4appc/admin/initsid.ora
の%ORACLE_HOME%\dg4appc\admin\initsid.ora
のTRACE_LEVEL
に基づいて、トレースされたイベントとともにトレースできます。 これは、新しいPL/SQLアプリケーションを開発するときに便利なデバッギング・ツールです。
「表B-7」は、PGATRAC
パラメータのタイプ、データ型、および説明を表示します:
表B-7 PGATRACパラメータ
パラメータ | タイプ | データ型 | 説明 |
---|---|---|---|
|
|
|
ゲートウェイ・トレース・ファイルに書き込まれるユーザー・データの行。 内容は印刷可能な文字でなければなりません。 |