ヘッダーをスキップ
Oracle Application Server Adapter for Tuxedoユーザーズ・ガイド
10g (10.1.3.1.0)
B31895-01
  目次へ
目次
索引へ
索引

前へ
前へ
 
次へ
次へ
 

B OracleAS Adapter for Tuxedoのメッセージ・バッファとデータ型のサポート

この付録の構成は、次のとおりです。

OracleAS Adapter for Tuxedoのメッセージ・バッファのサポート

Oracle Connectでは、OracleAS Adapter for Tuxedoメッセージ・バッファのすべての標準型が、次のようにI/Oとしてサポートされています。


注意:

X_C_TYPEおよびX_OCTETなどのシノニムも認識されます。

非構造化メッセージ・バッファは、レコード内で次のようにラップされます。

ユーザー定義のメッセージ・バッファ

Oracle Connectでは、ユーザー定義のメッセージ・バッファはサポートされていません。

データ型のサポート

この項の構成は、次のとおりです。

データ型のマッピング

OracleAS Adapter for Tuxedoは、Oracle Studioでメタデータの定義に使用する多くのデータ型をサポートしています。データ型は、インポート手順の実行時にTuxedoデータ型からマップされます。


注意:

OracleAS Adapter for TuxedoとOracle Application Server間のデータ型のマッピングは、Oracle Connectによって内部的に実行されます。

表B-1 データ型のマッピング: TuxedoとOracle Connect間

Tuxedoデータ型 Oracle Connectデータ型

carray

binary

char

string

double

double

float

double

int

int

long

int

short

int

string

string


データ型の処理

OracleAS Adapter for Tuxedoでは、VIEWファイルに含まれているフィールドが次のように処理されます。

  • VIEWファイル内のTuxedoフィールド定義のCOUNTフィールドに1より大きい値が指定されている場合は、array=xx属性に変換されます。

  • VIEWファイル内のTuxedoフィールド定義のSIZEフィールドに値が指定されている場合は、size=yy属性に変換されます。

  • VIEWファイル内のTuxedoフィールド定義のFLAGフィールドにCが指定されている場合は、実際のカウント値を格納するための追加のCOUNTERフィールドがそのフィールドの前に生成されます。

  • VIEWファイル内のTuxedoフィールド定義のFLAGフィールドにLが指定されている場合は、実際の長さの値を格納するための追加のLENGTHフィールドがそのフィールドの前に生成されます。


    注意:

    • Lフラグは、STRINGおよびCARRAYデータ型にのみ使用できます。

    • 1より大きいCOUNT値がフィールドに指定されている場合、追加のLENGTHフィールドがそのフィールドの前に配列として生成されます。配列エントリには、対応するフィールドの配列エントリに対する実際の長さの値が格納される必要があります。


  • VIEWファイル内のTuxedoフィールド定義のNULLフィールドに値が指定されている場合は、Oracle Connectのバックエンド・アダプタのレコードに反映されません。

VIEWフィールドに関するTuxedoの制限事項は保持されます。

次に、VIEWファイル定義の例を示します。

VIEW emp
#TYPE     CNAME            FBNAME          COUNT   FLAG  SIZE   NULL
long      lSalary          SALARY            1      -      -     0
short     nDeptnum         DEPTNUM           1      -      -     0
short     nEmpnum          EMPLOYEE_NUMBER   1      -      -     0
short     nJobcode         JOBCODE           1      -      -     0
string    szMessageText    MESSAGE_TEXT      1      -     80     ""
string    szFirstName      FIRST_NAME        1      -     16     ""
string    szLastName       LAST_NAME         1      -     21     ""
END

次に、FMLフィールドIDを定義するフィールド表の例を示します。

*base 100
# name           number   type    flags comments
MESSAGE_TEXT           1  string   -     -
#
DEPTNUM              100  short    -     -
EMPLOYEE_NUMBER      101  short    -     -
JOBCODE              102  short    -     -
FIRST_NAME           103  string   -     -
LAST_NAME            104  string   -     -
SALARY               105  long     -     -

ヘッダー・レコード構造

各アダプタには、Tuxedo ATMI Queue Control StructureにマップされるHEADERレコードがあります。 HEADERレコードは、定義されたすべてのレコードに含まれています。

次の表に、HEADER入力のフィールド(書込みおよびサブスクライブ用)を示します。

表B-2 HEADERレコード入力のフィールド

フィールド 説明

long flags;

設定する値を示します。

long deq_time;

デキューの絶対時間および相対時間を示します。

long priority;

エンキューの優先順位を指定します。

long exp_time;

有効期限を指定します。

long delivery_qos;

サービスの配信の品質を指定します。

long reply_qos;

サービスのリプライの品質を指定します。

long urcodes;

ユーザー・リターン・コード

char corrid[32];

メッセージの識別に使用する相関識別子を指定します。

char replyqueue[16];

リプライ・メッセージのキュー名を指定します。

char failurequeue[16];

失敗したメッセージのキュー名を指定します。


次の表に、HEADER出力のフィールド(読込み用)を示します。

表B-3 HEADERレコード出力のフィールド

フィールド 説明

long flags;

設定する必要のある値を示します。

long priority;

エンキューの優先順位を指定します。

char msgid[32;]

デキューされたメッセージのIDを指定します。

char corrid[32];

メッセージの識別に使用する相関識別子を指定します。

long delivery_qos;

サービスの配信の品質を指定します。

long reply_qos;

サービスのリプライの品質を指定します。

char replyqueue;

リプライのキュー名を指定します。

char failurequeue[16];

失敗したメッセージのキュー名を指定します。

long diagnostic;

失敗の理由を指定します。

long appkey;

アプリケーション認証のクライアント鍵を指定します。

long urcodes;

ユーザー・リターン・コード

CLIENTID cltid;

発信元のクライアントのクライアント識別子を指定します。

char replyqueue[16];

リプライ・メッセージのキュー名を指定します。

char failurequeue[16];

失敗したメッセージのキュー名を指定します。