103 DBMS_MGWMSG

DBMS_MGWMSGは、メッセージ本体を変換するために標準的なメッセージ・タイプで使用されるオブジェクト・タイプ、およびメッセージ・ゲートウェイ・メッセージ・タイプを処理するためのメソッド、定数およびサブプログラムを記述します。

この章のトピックは、次のとおりです:

参照:

メッセージ・ゲートウェイの管理インタフェースであるDBMS_MGWADMの詳細は、「DBMS_MGWADM」を参照してください。

103.1 DBMS_MGWMSGのセキュリティ・モデル

EXECUTE権限は、標準的なタイプのみでなくDBMS_MGWMSGパッケージで定義されるすべてのタイプに対してPUBLICに付与されます。DBMS_MGWMSGのパッケージおよびオブジェクト・タイプの所有者はSYSです。

注意:

catmgw.sqlスクリプトを実行して、メッセージ・ゲートウェイのパッケージおよびオブジェクト・タイプをデータベースにロードする必要があります。データベース・オブジェクトのロード方法およびDBMS_MGWMSGの使用方法の詳細は、『Oracle Databaseアドバンスト・キューイング・ユーザーズ・ガイド』を参照してください。

103.2 DBMS_MGWMSGの定数

DBMS_MGWMSGパッケージは、様々なパラメータ値の指定に使用する定数を定義します。

表103-1 DBMS_MGWMSG定数: 値のタイプおよびSYS.MGW_NAME_VALUE_Tオブジェクトの値のタイプを表す定数

定数

TEXT_VALUE

CONSTANT BINARY_INTEGER := 1

RAW_VALUE

CONSTANT BINARY_INTEGER := 2

BOOLEAN_VALUE

CONSTANT BINARY_INTEGER := 3

BYTE_VALUE

CONSTANT BINARY_INTEGER := 4

SHORT_VALUE

CONSTANT BINARY_INTEGER := 5

INTEGER_VALUE

CONSTANT BINARY_INTEGER := 6

LONG_VALUE

CONSTANT BINARY_INTEGER := 7

FLOAT_VALUE

CONSTANT BINARY_INTEGER := 8

DOUBLE_VALUE

CONSTANT BINARY_INTEGER := 9

DATE_VALUE

CONSTANT BINARY_INTEGER := 10

表103-2 DBMS_MGWMSG定数: ブール値 - ブール値を数値で表す定数

定数

BOOLEAN_FALSE

CONSTANT BINARY_INTEGER := 0

BOOLEAN_TRUE

CONSTANT BINARY_INTEGER := 1

表103-3 DBMS_MGWMSG定数: 大文字と小文字の比較

定数

CASE_SENSITIVE

CONSTANT BINARY_INTEGER := 0

CASE_INSENSITIVE

CONSTANT BINARY_INTEGER := 1

表103-4 TIB/Rendezvousフィールド・タイプの定数

定数

TIBRVMSG_BOOL

CONSTANT INTEGER := 1

TIBRVMSG_F32

CONSTANT INTEGER := 2

TIBRVMSG_F64

CONSTANT INTEGER := 3

TIBRVMSG_I8

CONSTANT INTEGER := 4

TIBRVMSG_I16

CONSTANT INTEGER := 5

TIBRVMSG_I32

CONSTANT INTEGER := 6

TIBRVMSG_I64

CONSTANT INTEGER := 7

TIBRVMSG_IPADDR32

CONSTANT INTEGER := 8

TIBRVMSG_IPPORT16

CONSTANT INTEGER := 9

TIBRVMSG_DATETIME

CONSTANT INTEGER := 10

TIBRVMSG_F32ARRAY

CONSTANT INTEGER := 11

TIBRVMSG_F64ARRAY

CONSTANT INTEGER := 12

TIBRVMSG_I8ARRAY

CONSTANT INTEGER := 13

TIBRVMSG_I16ARRAY

CONSTANT INTEGER := 14

TIBRVMSG_I32ARRAY

CONSTANT INTEGER := 15

TIBRVMSG_I64ARRAY

CONSTANT INTEGER := 16

TIBRVMSG_OPAQUE

CONSTANT INTEGER := 17

TIBRVMSG_STRING

CONSTANT INTEGER := 18

TIBRVMSG_XML

CONSTANT INTEGER := 19

103.3 DBMS_MGWMSGのタイプ

DBMS_MGWMSGは、タイプを使用して特定の情報を指定します。

103.3.1 DBMS_MGWMSG SYS.MGW_NAME_VALUE_Tタイプ

このタイプは、名前付きの値を指定します。

通常、name属性とtype属性、および<>_value属性の1つが、NULL以外の値になります。

構文

TYPE SYS.MGW_NAME_VALUE_T IS OBJECT(
   name               VARCHAR2(250),
   type               INTEGER,
   integer_value      INTEGER,
   number_value       NUMBER,
   text_value         VARCHAR2(4000),
   raw_value          RAW(2000),
   date_value         DATE,

-- Methods
STATIC FUNCTION CONSTRUCT
RETURN SYS.MGW_NAME_VALUE_T,

STATIC FUNCTION CONSTRUCT_BOOLEAN (
   name   IN VARCHAR2,
   value  IN INTEGER )
RETURN SYS.MGW_NAME_VALUE_T,

STATIC FUNCTION CONSTRUCT_BYTE (
   name   IN VARCHAR2,
   value  IN INTEGER )
RETURN SYS.MGW_NAME_VALUE_T,

STATIC FUNCTION CONSTRUCT_SHORT (
   name   IN VARCHAR2,
   value  IN INTEGER )
RETURN SYS.MGW_NAME_VALUE_T,

STATIC FUNCTION CONSTRUCT_INTEGER (
   name   IN VARCHAR2,
   value  IN INTEGER )
RETURN SYS.MGW_NAME_VALUE_T,

STATIC FUNCTION CONSTRUCT_LONG (
   name   IN VARCHAR2,
   value  IN NUMBER )
RETURN SYS.MGW_NAME_VALUE_T,

STATIC FUNCTION CONSTRUCT_FLOAT (
   name   IN VARCHAR2,
   value  IN NUMBER )
RETURN SYS.MGW_NAME_VALUE_T,

STATIC FUNCTION CONSTRUCT_DOUBLE (
   name   IN VARCHAR2,
   value  IN NUMBER )
RETURN SYS.MGW_NAME_VALUE_T,

STATIC FUNCTION CONSTRUCT_TEXT (
   name   IN VARCHAR2,
   value  IN VARCHAR2 )
RETURN SYS.MGW_NAME_VALUE_T,

STATIC FUNCTION CONSTRUCT_RAW (
   name   IN VARCHAR2,
   value  IN RAW )
RETURN SYS.MGW_NAME_VALUE_T,

STATIC FUNCTION CONSTRUCT_DATE (
   name   IN VARCHAR2,
   value  IN DATE )
RETURN SYS.MGW_NAME_VALUE_T );

属性

表103-5 SYS.MGW_NAME_VALUE_Tの属性

属性 説明

name

値に関連付けられた名前。

type

値のタイプ。詳細は、表103-1DBMS_MGWMSG.<>_VALUE定数を参照してください。これは、どのJavaデータ・タイプとクラスが値と関連付けられているかを示します。また、どの属性に値が格納されているかも示します。

integer_value

整数値を格納します。

number_value

floatタイプまたはラージ・タイプの整数値を格納します。

text_value

TEXT値を格納します。

raw_value

RAW(バイト)値を格納します。

date_value

日付値を格納します。

SYS.MGW_NAME_VALUE_Tにおける値のタイプと属性間のマッピング

表103-6に、値のタイプと、値の格納に使用される属性との間のマッピングを示します。

表103-6 SYS.MGW_NAME_VALUE_Tにおける値のタイプと属性間のマッピング

タイプ 値の格納に使用される属性

DBMS_MGWMSG.TEXT_VALUE

text_value

DBMS_MGWMSG.RAW_VALUE

raw_value

DBMS_MGWMSG.BOOLEAN_VALUE

integer_value

DBMS_MGWMSG.BYTE_VALUE

integer_value

DBMS_MGWMSG.SHORT_VALUE

integer_value

DBMS_MGWMSG.INTEGER_VALUE

integer_value

DBMS_MGWMSG.LONG_VALUE

number_value

DBMS_MGWMSG.FLOAT_VALUE

number_value

DBMS_MGWMSG.DOUBLE_VALUE

number_value

DBMS_MGWMSG.DATE_VALUE

date_value

CONSTRUCTメソッド

このメソッドは、新規SYS.MGW_NAME_VALUE_Tインスタンスを構成します。すべての属性にNULLが割り当てられます。

構文

STATIC FUNCTION CONSTRUCT
RETURN SYS.MGW_NAME_VALUE_T;

CONSTRUCT_TYPEメソッド

これらのメソッドは、新規SYS.MGW_NAME_VALUE_Tインスタンスを構成し、特定のタイプの値でインスタンスを初期化します。各メソッドは、表103-6のマッピングに示されているように、name属性とtype属性、および<>_value属性の1つを設定します。

構文

STATIC FUNCTION CONSTRUCT_<> (
   name   IN VARCHAR2,
   value  IN datatype )
RETURN SYS.MGW_NAME_VALUE_T;

使用上の注意

construct_booleanメソッドは、値をDBMS_MGWMSG.BOOLEAN_TRUEまたはDBMS_MGWMSG.BOOLEAN_FALSEのいずれかに設定します。

103.3.2 DBMS_MGWMSG SYS.MGW_NAME_TYPE_ARRAY_Tタイプ

このタイプは、名前/値ペアの配列を指定します。SYS.MGW_NAME_VALUE_ARRAY_Tタイプのオブジェクトには、最大1024個の要素を格納できます。

構文

TYPE SYS.MGW_NAME_VALUE_ARRAY_T 
  AS VARRAY (1024) OF SYS.MGW_NAME_VALUE_T;

103.3.3 DBMS_MGWMSG SYS.MGW_TEXT_VALUE_Tタイプ

このタイプは、TEXT値を指定します。大きい値はCLOBで、比較的小さい値(サイズ<= 4000)はVARCHAR2で格納できます。< >_value属性は、その中の1つのみを設定してください。

構文

TYPE SYS.MGW_TEXT_VALUE_T IS OBJECT(
   small_value VARCHAR2(4000),
   large_value CLOB,

-- Methods
STATIC FUNCTION CONSTRUCT
RETURN SYS.MGW_TEXT_VALUE_T);

属性

表103-7 SYS.MGW_TEXT_VALUE_Tの属性

属性 説明

small_value

小さいTEXT値。値< =4000の場合に使用されます。

large_value

大きいTEXT値。small_value属性には値が大きすぎる場合に使用します。

CONSTRUCTメソッド

このメソッドは、新規SYS.MGW_TEXT_VALUE_Tインスタンスを構成します。すべての属性にNULLが割り当てられます。

構文

STATIC FUNCTION CONSTRUCT
RETURN SYS.MGW_TEXT_VALUE_T;

103.3.4 DBMS_MGWMSG SYS.MGW_RAW_VALUE_Tタイプ

このタイプは、RAW値を指定します。大きい値はBLOBで、比較的小さい値(サイズ<= 2000)はRAWで格納できます。< >_value属性は、その中の1つのみを設定してください。

構文

TYPE SYS.MGW_RAW_VALUE_T IS OBJECT(
   small_value RAW(2000),
   large_value BLOB,

--Methods
STATIC FUNCTION CONSTRUCT
RETURN SYS.MGW_RAW_VALUE_T);

属性

表103-8 SYS.MGW_RAW_VALUE_Tの属性

属性 説明

small_value

小さいRAW(バイト)値(<= 2000)

large_value

大きいRAW値。small_value属性には値が大きすぎる場合に使用します。

CONSTRUCTメソッド

このメソッドは、新規SYS.MGW_RAW_VALUE_Tインスタンスを構成します。すべての属性にNULLが割り当てられます。

構文

STATIC FUNCTION CONSTRUCT
RETURN SYS.MGW_RAW_VALUE_T;

103.3.5 DBMS_MGWMSG SYS.MGW_BASIC_MSG_Tタイプ

このタイプは、基本的なTEXTまたはRAWメッセージの標準的なタイプを表します。通常、単一のTEXTまたはRAWの値のみが設定されます。このタイプのオブジェクトでは、TEXTRAWの両方にNULL以外の値を同時に設定しないでください。

構文

TYPE SYS.MGW_BASIC_MSG_T IS OBJECT(
   header     SYS.MGW_NAME_VALUE_ARRAY_T,
   text_body  SYS.MGW_TEXT_VALUE_T,
   raw_body   SYS.MGW_RAW_VALUE_T,

--Methods
STATIC FUNCTION CONSTRUCT
RETURN SYS.MGW_BASIC_MSG_T);

属性

表103-9 SYS.MGW_BASIC_MSG_Tの属性

属性 説明

header

名前/値ペアの配列としてのメッセージ・ヘッダー情報

text_body

TEXTメッセージのメッセージ本体

raw_body

RAW(バイト)メッセージのメッセージ本体

CONSTRUCTメソッド

このメソッドは、新規SYS.MGW_BASIC_MSG_Tインスタンスを構成します。すべての属性にNULLが割り当てられます。

構文

STATIC FUNCTION CONSTRUCT
RETURN SYS.MGW_BASIC_MSG_T;

103.3.6 DBMS_MGWMSG SYS.MGW_NUMBER_ARRAY_Tタイプ

このタイプは、数値の配列を指定します。

構文

TYPE SYS.MGW_NUMBER_ARRAY_T AS VARRAY(1024) OF NUMBER;

103.3.7 DBMS_MGWMSG SYS.MGW_TIBRV_FIELD_Tタイプ

このタイプは、TIB/Rendezvousメッセージ・フィールドを表します。通常、このメッセージ・フィールドは、SYS.MGW_TIBRV_MSG_Tインスタンスからフィールド情報を取り出すために、読取り専用モードで使用されます。

構文

TYPE SYS.MGW_TIBRV_FIELD_T IS OBJECT(
   field_name       VARCHAR2(256),
   field_id         INTEGER,
   field_type       INTEGER,
   number_value     NUMBER,
   number_array_value  SYS.MGW_NUMBER_ARRAY_T,
   text_value       VARCHAR2(4000),
   raw_value        RAW(2000),
   date_value       DATE,
   clob_value       CLOB,
   blob_value       BLOB);

属性

表103-10 SYS.MGW_TIBRV_FIELD_Tの属性

属性 説明

field_name

フィールド名。フィールドに名前がない場合は、NULLになります。

field_id

フィールド識別子。フィールド識別子がゼロ(0)である場合、そのフィールドはフィールド識別子を持たないとみなされます。それ以外の場合、フィールド識別子は同じメッセージのすべてのフィールド間で一意の非ゼロ値です。

field_type

フィールドの書式化に使用されるデータ・タイプ。この属性の有効な値は、DBMS_MGWMSG.TIBRVMSG_<>定数で定義されています。この属性値が表すデータ・タイプに基づいて、フィールドのデータの格納方式が決定されます。

number_value

数値の格納に使用される属性。

number_array_value

数値配列の格納に使用される属性。

text_value

小さいTEXT値の格納に使用される属性。

raw_value

小さいRAW値の格納に使用される属性。

date_value

日付値の格納に使用される属性。

clob_value

大きいTEXT値の格納に使用される属性。この属性は、テキスト・データがtext_valueに納まらない(つまり、サイズが4000より大きい)場合に使用されます。

blob_value

大きいRAW値の格納に使用される属性。この属性は、RAWデータがraw_valueに納まらない(つまり、サイズが2000より大きい)場合に使用されます。

SYS.MGW_TIBRV_FIELD_Tにおけるフィールドのタイプと属性間のマッピング

表103-11に、SYS.MGW_TIBRV_FIELD_Tにおけるフィールドのタイプと、値の格納に使用される属性との間のマッピングを示します。

表103-11 SYS.MGW_TIBRV_FIELD_Tにおけるフィールドのタイプと属性間のマッピング

フィールド・タイプ(DBMS_MGWMSG定数) 値の格納に使用される属性

TIBRVMSG_BOOL

number_value

TIBRVMSG_F32

number_value

TIBRVMSG_F64

number_value

TIBRVMSG_I8

number_value

TIBRVMSG_I16

number_value

TIBRVMSG_I32

number_value

TIBRVMSG_I64

number_value

TIBRVMSG_IPADDR32

text_value

TIBRVMSG_IPPORT16

number_value

TIBRVMSG_DATETIME

date_value

TIBRVMSG_F32ARRAY

number_array_value

TIBRVMSG_F64ARRAY

number_array_value

TIBRVMSG_I8ARRAY

number_array_value

TIBRVMSG_I16ARRAY

number_array_value

TIBRVMSG_I32ARRAY

number_array_value

TIBRVMSG_I64ARRAY

number_array_value

TIBRVMSG_OPAQUE

raw_valueまたはblob_value

TIBRVMSG_STRING

text_valueまたはclob_value

TIBRVMSG_XML

raw_valueまたはblob_value

103.3.8 DBMS_MGWMSG SYS.MGW_TIBRV_MSG_Tタイプ

このタイプは、TIB/Rendezvousメッセージを表します。このタイプの属性を直接参照しないでください。かわりにタイプ・メソッドを使用します。

構文

TYPE SYS.MGW_TIBRV_MSG_T IS OBJECT(
   send_subject    VARCHAR2(256),
   reply_subject   VARCHAR2(256),
   cm_time_limit   NUMBER,
   cm_sender_name  VARCHAR2(256),
   cm_sequence_num NUMBER,
   fields          SYS.MGW_TIBRV_IFIELDS_T,
   clob_data1      CLOB, 
   clob_data2      CLOB,
   clob_data3      CLOB,
   blob_data1      BLOB,
   blob_data2      BLOB,
   blob_data3      BLOB,

STATIC FUNCTION construct
RETURN SYS.MGW_TIBRV_MSG_T,

MEMBER PROCEDURE add_bool (
    name  IN   VARCHAR2,
    id    IN   INTEGER,
    value IN   INTEGER ),

MEMBER PROCEDURE add_f32 (
    name  IN   VARCHAR2,
    id    IN   INTEGER,
    value IN   FLOAT ),

MEMBER PROCEDURE add_f64 (
    name  IN   VARCHAR2,
    id    IN   INTEGER,
    value IN   DOUBLE ),

MEMBER PROCEDURE add_i8 (
    name  IN  VARCHAR2,
    id    IN  INTEGER,
    value IN  INTEGER ),

MEMBER PROCEDURE add_i16 (
     name  IN  VARCHAR2,
     id    IN  INTEGER,
     value IN  INTEGER ),

MEMBER PROCEDURE add_i32 (
     name  IN  VARCHAR2,
     id    IN  INTEGER,
     value IN  INTEGER ),

MEMBER PROCEDURE add_i64 (
     name  IN  VARCHAR2,
     id    IN  INTEGER,
     value IN  NUMBER ),

MEMBER PROCEDURE add_ipaddr32 (
     name  IN  VARCHAR2, 
     id    IN  INTEGER, 
     value IN  VARCHAR2 ),

MEMBER PROCEDURE add_ipport16 (
     name  IN  VARCHAR2,
     id    IN  INTEGER, 
     value IN  INTEGER ),

MEMBER PROCEDURE add_datetime (
     name  IN  VARCHAR2,
     id    IN  INTEGER,
     value IN  DATE ),

MEMBER PROCEDURE add_f32array (
     name  IN  VARCHAR2,
     id    IN  INTEGER,
     value IN  SYS.MGW_NUMBER_ARRAY_T ),

MEMBER PROCEDURE add_f64array (
     name  IN  VARCHAR2,
     id    IN  INTEGER,
     value IN  SYS.MGW_NUMBER_ARRAY_T ),

MEMBER PROCEDURE add_i8array (
     name  IN  VARCHAR2,
     id    IN  INTEGER,
     value IN  SYS.MGW_NUMBER_ARRAY_T ),

MEMBER PROCEDURE add_i16array (
     name  IN  VARCHAR2,
     id    IN  INTEGER,
     value IN  SYS.MGW_NUMBER_ARRAY_T ),

MEMBER PROCEDURE add_i32array (
     name  IN  VARCHAR2,
     id    IN  INTEGER,
     value IN  SYS.MGW_NUMBER_ARRAY_T ),

MEMBER PROCEDURE add_i64array (
     name  IN  VARCHAR2,
     id    IN  INTEGER,
     value IN  SYS.MGW_NUMBER_ARRAY_T ),

MEMBER PROCEDURE add_string (
     name  IN  VARCHAR2,
     id    IN  INTEGER,
     value IN  VARCHAR2 ),

MEMBER PROCEDURE add_string (
     name  IN  VARCHAR2,
     id    IN  INTEGER,
     value IN  CLOB ),

MEMBER PROCEDURE add_opaque (
     name  IN  VARCHAR2,
     id    IN  INTEGER,
     value IN  RAW ),

MEMBER PROCEDURE add_opaque (
     name  IN  VARCHAR2,
     id    IN  INTEGER,
     value IN  BLOB ),

MEMBER PROCEDURE add_xml (
     name  IN  VARCHAR2,
     id    IN  INTEGER,
     value IN  RAW ),

MEMBER PROCEDURE add_xml (
     name  IN  VARCHAR2,
     id    IN  INTEGER,
     value IN  BLOB ),

MEMBER PROCEDURE set_send_subject (
     value  IN  VARCHAR2 ),

MEMBER PROCEDURE set_reply_subject (
     value  IN  VARCHAR2 ),

MEMBER PROCEDURE set_cm_time_limit (
     value  IN  NUMBER ),

MEMBER PROCEDURE set_cm_sender_name (
     value IN  VARCHAR2 ),

MEMBER PROCEDURE set_cm_sequence_num (
     value IN NUMBER ),

MEMBER FUNCTION get_send_subject
RETURN VARCHAR2,

MEMBER FUNCTION get_reply_subject
RETURN VARCHAR2,

MEMBER FUNCTION get_cm_time_limit
RETURN NUMBER,

MEMBER FUNCTION get_cm_sender_name
RETURN VARCHAR2,

MEMBER FUNCTION get_cm_sequence_num
RETURN NUMBER,

MEMBER FUNCTION get_field_count
RETURN INTEGER,

MEMBER FUNCTION get_field (
     idx    IN INTEGER )
RETURN SYS.MGW_TIBRV_FIELD_T,

MEMBER FUNCTION get_field_by_name (
     name   IN  VARCHAR2 )
RETURN SYS.MGW_TIBRV_FIELD_T,

MEMBER FUNCTION get_field_by_id (
     id     IN  INTEGER )
RETURN SYS.MGW_TIBRV_FIELD_T,

MEMBER FUNCTION find_field_name (
     name   IN  VARCHAR2,
     start_idx IN INTEGER )
RETURN INTEGER,

MEMBER FUNCTION find_field_id (
     id     IN INTEGER,
     start_idx IN INTEGER )
RETURN INTEGER
);

属性

表103-12 SYS.MGW_TIBRV_MSG_Tタイプの属性

属性 説明

send_subject

送信サブジェクト名

reply_subject

応答サブジェクト名

cm_time_limit

認証メッセージを受け取るまでの時間制限

cm_sender_name

認証メッセージの送信者名

cm_sequence_num

認証メッセージの順序番号

fields

メッセージ・フィールドのコレクション

clob_data1

大きいTEXT値の格納に使用される属性

clob_data2

大きいTEXT値の格納に使用される属性

clob_data3

大きいTEXT値の格納に使用される属性

blob_data1

大きいRAW値の格納に使用される属性

blob_data2

大きいRAW値の格納に使用される属性

blob_data3

大きいRAW値の格納に使用される属性

CONSTRUCTメソッド

新規SYS.MGW_TIBRV_MSG_Tインスタンスを構成します。すべての属性がNULLに設定されます。

構文

STATIC FUNCTION construct
RETURN SYS.MGW_TIBRV_MSG_T;

ADD_<>メソッド

これらのメソッドは、新しいフィールドをメッセージに追加します。

構文

MEMBER PROCEDURE ADD_<> ( 
   name  IN  VARCHAR2,
   id    IN  INTEGER,
   value IN  datatype );

パラメータ

表103-13 SYS.MGW_TIBRV_MSG_T ADD_<>メソッドのパラメータ

パラメータ 説明

name

フィールド名。

id

フィールド識別子。

value

フィールド・データ。

表103-14に、個々のADDメソッドで割り当てられるフィールド・タイプ、およびフィールド・データとして有効な値を示します。

表103-14 MGW_TIBRV_MSG_T Addメソッドのフィールド・タイプ

メソッド名 割り当てられるフィールド・タイプ コメント

add_bool

TIBRVMSG_BOOL

有効な値: 0 (false), 1 (true)

add_f32

TIBRVMSG_F32

なし

add_f64

TIBRVMSG_F64

なし

add_i8

TIBRVMSG_I8

有効な範囲: -128...127

add_i16

TIBRVMSG_I16

有効な範囲: -32768...32767

add_i32

TIBRVMSG_I32

有効な範囲: -2147483648...2147483647

add_i64

TIBRVMSG_I64

なし

add_ipaddr32

TIBRVMSG_IPADDR32

なし

add_ipport16

TIBRVMSG_IPPORT16

なし

add_datetime

TIBRVMSG_DATETIME

なし

add_f32array

TIBRVMSG_F32ARRAY

なし

add_f64array

TIBRVMSG_F64ARRAY

なし

add_i8array

TIBRVMSG_I8ARRAY

有効な範囲: -128...127

add_i16array

TIBRVMSG_I16ARRAY

有効な範囲: -32768...32767

add_i32array

TIBRVMSG_I32ARRAY

有効な範囲: -2147483648...2147483647

add_i64array

TIBRVMSG_I64ARRAY

なし

add_opaque

TIBRVMSG_OPAQUE

サイズ < 2000の値はRAWとして格納され、それ以外の値はBLOBに格納されます。

add_string

TIBRVMSG_STRING

サイズ < 4000の値はVARCHAR2として格納され、それ以外の値はCLOBに格納されます。

add_xml

TIBRVMSG_XML

サイズ < 2000の値はRAWとして格納され、それ以外の値はBLOBに格納されます。

SET_<>メソッド

これらのメソッドは、インスタンスの属性を特定の値に設定するアクセッサ・メソッドです。

構文

MEMBER PROCEDURE SET_<> (
  value IN datatype );

パラメータ

表103-15 SYS.MGW_TIBRV_MSG_T SET_<>メソッドのパラメータ

パラメータ 説明

value

属性に割り当てる値

GET_<>メソッド

これらのメソッドは、インスタンスの属性値を取り出すアクセッサ・メソッドです。

構文

MEMBER PROCEDURE GET_<>
RETURN datatype;

パラメータ

なし

戻り値

属性値を返します。

GET_FIELD_COUNTファンクション

メッセージのフィールド数を取得します。

構文

MEMBER PROCEDURE get_field_count
RETURN INTEGER;

パラメータ

なし

戻り値

メッセージのフィールド数を戻します。フィールドが存在しない場合は、ゼロ(0)を戻します。

GET_FIELDファンクション

指定されたフィールド・コレクション索引を持つフィールドに関するフィールド情報を取り出します。このメソッドは、GET_FIELD_COUNTファンクションからゼロ以外の値が戻された場合のみコールでき、idxには、有効なフィールド・コレクション索引(1<=idx<=get_field_count())を指定する必要があります。

構文

MEMBER PROCEDURE get_field ( 
    idx    IN    INTEGER ) 
RETURN SYS.MGW_TIBRV_FIELD_T; 

パラメータ

表103-16 SYS.MGW_TIBRV_MSG_T GET_FIELDファンクションのパラメータ

パラメータ 説明

idx

取り出すフィールドのフィールド・コレクション索引(基数は1)の指定

注意:

基数=1のフィールド・コレクション索引は、ゼロ(0)ではなく1から始まります。

戻り値

フィールド情報を戻します。

GET_FIELD_BY_NAMEファンクション

指定されたフィールド名を持つ最初のフィールドに関するフィールド情報を取り出します。フィールド名の比較では大文字と小文字が区別されます。

構文

MEMBER PROCEDURE get_field_by_name (
   name  IN   VARCHAR2 )
RETURN SYS.MGW_TIBRV_FIELD_T;

パラメータ

表103-17 SYS.MGW_TIBRV_MSG_T GET_FIELD_BY_NAMEファンクションのパラメータ

パラメータ 説明

name

検索するフィールド名を指定します。フィールド名を持たない最初のフィールドを取り出すには、NULLを指定します。

戻り値

フィールド情報を戻します。一致するフィールドが存在しない場合は、NULLを戻します。

GET_FIELD_BY_IDファンクション

指定されたフィールド識別子を持つ最初のフィールドに関するフィールド情報を取り出します。

フィールドの中には、一意のIDを持つフィールドとIDを持たないフィールドがあります。フィールド識別子の値がゼロ(0)またはNULLである場合、そのフィールドはフィールド識別子を持たないとみなされます。それ以外の場合、フィールド識別子は同じメッセージのすべてのフィールド間で一意の非ゼロ値です。

構文

MEMBER PROCEDURE get_field_by_id (
   id   IN  INTEGER )
RETURN SYS.MGW_TIBRV_FIELD_T;

パラメータ

表103-18 SYS.MGW_TIBRV_MSG_T GET_FIELD_BY_IDファンクションのパラメータ

パラメータ 説明

id

検索するフィールド識別子を指定します。フィールド識別子を持たない最初のフィールドを取り出すには、ゼロ(0)またはNULLを指定します。

戻り値

フィールド情報を戻します。一致するフィールドが存在しない場合は、NULLを戻します。

FIND_FIELD_NAMEファンクション

指定されたフィールド名を持つフィールドを、指定されたフィールド・コレクション索引の位置から検索します。そのフィールドの索引を戻します。フィールド名の比較では大文字と小文字が区別されます。このファンクションは、同じ名前を持つすべてのフィールドを検索するときに便利です。

構文

MEMBER PROCEDURE find_field_name (
   name      IN  VARCHAR2,
   start_idx IN  INTEGER )
RETURN INTEGER;

パラメータ

表103-19 SYS.MGW_TIBRV_MSG_T FIND_FIELD_NAMEファンクションのパラメータ

パラメータ 説明

name

検索するフィールド名を指定します。フィールド名を持たない最初のフィールドを検索するには、NULLを指定します。

start_idx

検索を開始する位置のフィールド・コレクション索引(基数は1)を指定します。

戻り値

指定された条件に一致するフィールドが見つかった場合は、フィールド索引(>0の整数)を戻します。それ以外の場合は、ゼロ(0)を戻します。

FIND_FIELD_IDファンクション

指定されたフィールド識別子を持つフィールドを、指定されたフィールド・コレクション索引の位置から検索します。そのフィールドの索引を戻します。

構文

MEMBER PROCEDURE find_field_id (
     id        IN  INTEGER,
     start_idx IN INTEGER )
RETURN    INTEGER;

パラメータ

表103-20 SYS.MGW_TIBRV_MSG_T FIND_FIELD_IDファンクションのパラメータ

パラメータ 説明

id

検索するフィールド識別子を指定します。フィールド識別子を持たないフィールドを検索するには、ゼロ(0)またはNULLを指定します。

start_idx

検索を開始する位置のフィールド・コレクション索引(基数は1)を指定します。

戻り値

指定された条件に一致するフィールドが見つかった場合は、フィールド索引(>0の整数)を戻します。それ以外の場合は、ゼロ(0)を戻します。

103.4 DBMS_MGWMSGサブプログラムの要約

この表は、DDBMS_MGWMSGサブプログラムを示し、簡単に説明しています。

表103-21 DBMS_MGWMSGパッケージのサブプログラム

サブプログラム 説明

LCR_TO_XMLファンクション

行LCR(LCR$_ROW_RECORD)またはDDL LCR(LCR$_DDL_RECORD)をカプセル化しているSYS.ANYDATAオブジェクトを、SYS.XMLTYPEオブジェクトに変換します。

NVARRAY_ADDプロシージャ

名前/値の配列の終わりに名前/値の要素を追加します。

NVARRAY_FIND_NAMEファンクション

名前/値配列を検索し、p_nameに指定した名前を持つ要素を探します。

NVARRAY_FIND_NAME_TYPEファンクション

名前/値配列を検索し、指定した名前と値タイプを持つ要素を探します。

NVARRAY_GETファンクション

p_nameに指定した名前の名前/値の要素を名前/値配列から取得します。

NVARRAY_GET_BOOLEANファンクション

p_nameに指定した名前/値配列の要素で、BOOLEAN_VALUE値タイプの要素の値を取得します。

NVARRAY_GET_BYTEファンクション

p_nameに指定した名前/値配列の要素で、BYTE_VALUE値タイプの要素の値を取得します。

NVARRAY_GET_DATEファンクション

p_nameに指定した名前/値配列の要素で、DATE_VALUE値タイプの要素の値を取得します。

NVARRAY_GET_DOUBLEファンクション

p_nameに指定した名前/値配列の要素で、DOUBLE_VALUE値タイプの要素の値を取得します。

NVARRAY_GET_FLOATファンクション

p_nameに指定した名前/値配列の要素で、FLOAT_VALUE値タイプの要素の値を取得します。

NVARRAY_GET_INTEGERファンクション

p_nameに指定した名前/値配列の要素で、INTEGER_VALUE値タイプの要素の値を取得します。

NVARRAY_GET_LONGファンクション

p_nameに指定した名前/値配列の要素で、LONG_VALUE値タイプの要素の値を取得します。

NVARRAY_GET_RAWファンクション

p_nameに指定した名前/値配列の要素で、RAW_VALUE値タイプの要素の値を取得します。

NVARRAY_GET_SHORTファンクション

p_nameに指定した名前/値配列の要素で、SHORT_VALUE値タイプの要素の値を取得します。

NVARRAY_GET_TEXTファンクション

p_nameに指定した名前/値配列の要素で、TEXT_VALUE値タイプの要素の値を取得します。

XML_TO_LCRファンクション

行LCR(LCR$_ROW_RECORD)またはDDL LCR(LCR$_DDL_RECORD)をカプセル化しているSYS.XMLTYPEオブジェクトを、SYS.ANYDATAオブジェクトに変換します。

103.4.1 LCR_TO_XMLファンクション

このファンクションは、行LCR(論理変更レコード、ここではLCR$_ROW_RECORD)またはDDL LCR(LCR$_DDL_RECORD)をカプセル化しているSYS.ANYDATAオブジェクトを、SYS.XMLTYPEオブジェクトに変換します。

構文

DBMS_MGWMSG.LCR_TO_XML (
   p_anydata IN SYS.ANYDATA )
 RETURN SYS.XMLTYPE;

パラメータ

表103-22 LCR_TO_XMLファンクションのパラメータ

パラメータ 説明

p_anydata

変換するANYDATAオブジェクト

戻り値

SYS.XMLTYPEオブジェクトを戻します。

使用上の注意

カプセル化されたタイプp_anydataがLCRでない場合は、例外が発生します。

103.4.2 NVARRAY_ADDプロシージャ

このプロシージャは、名前/値の配列の終わりに名前/値の要素を追加します。

構文

DBMS_MGWMSG.NVARRAY_ADD (
   p_array  IN OUT SYS.MGW_NAME_VALUE_ARRAY_T,
   p_value  IN     SYS.MGW_NAME_VALUE_T );

パラメータ

表103-23 NVARRAY_ADDプロシージャのパラメータ

パラメータ 説明

p_array

入力時には、変更する名前/値配列インスタンスを指定します。NULLの場合は、新しい配列が作成されます。出力として、変更後の名前/値配列インスタンスが戻されます。

p_value

追加する値。NULLの場合、p_arrayは変更されません。

103.4.3 NVARRAY_FIND_NAMEファンクション

このファンクションは、名前/値配列を検索し、p_nameに指定した名前を持つ要素を探します。

構文

DBMS_MGWMSG.NVARRAY_FIND_NAME (
   p_array    IN SYS.MGW_NAME_VALUE_ARRAY_T,
   p_name     IN VARCHAR2,
   p_compare  IN BINARY_INTEGER DEFAULT CASE_SENSITIVE )
RETURN BINARY_INTEGER;

パラメータ

表103-24 NVARRAY_FIND_NAMEファンクションのパラメータ

パラメータ 説明

p_array

検索する名前/値配列。

p_name

検索する名前。

p_compare

名前の比較方法。値はCASE_SENSITIVEおよびCASE_INSENSITIVEです。

戻り値

指定した名前に一致した要素の配列索引(正の整数)を戻します。指定した名前の要素が見つからない場合は、ゼロ(0)を戻します。

103.4.4 NVARRAY_FIND_NAME_TYPEファンクション

このファンクションは、名前/値配列を検索し、指定した名前と値タイプを持つ要素を探します。

構文

DBMS_MGWMSG.NVARRAY_FIND_NAME_TYPE (
   p_array    IN SYS.MGW_NAME_VALUE_ARRAY_T,
   p_name     IN VARCHAR2,
   p_type     IN BINARY_INTEGER
   p_compare  IN BINARY_INTEGER DEFAULT CASE_SENSITIVE )
RETURN BINARY_INTEGER;

パラメータ

表103-25 NVARRAY_FIND_NAME_TYPEファンクションのパラメータ

パラメータ 説明

p_array

検索する名前/値配列。

p_name

検索する名前。

p_type

値のタイプ。詳細は、表103-1に示されている値タイプの定数を参照してください。

p_compare

名前の比較方法。値はCASE_SENSITIVEおよびCASE_INSENSITIVEです。

戻り値

指定した条件に一致した要素の配列索引(正の整数)を戻します。指定した名前の要素が見つからない場合は、ゼロ(0)を戻します。指定した名前の要素が見つかっても、値のタイプが一致しない場合は-1を戻します。

103.4.5 NVARRAY_GETファンクション

このファンクションは、p_nameに指定した名前の名前/値の要素を名前/値配列から取得します。

構文

DBMS_MGWMSG.NVARRAY_GET (
   p_array    IN SYS.MGW_NAME_VALUE_ARRAY_T,
   p_name     IN VARCHAR2,
   p_compare  IN BINARY_INTEGER DEFAULT CASE_SENSITIVE )
RETURN SYS.MGW_NAME_VALUE_T;

パラメータ

表103-26 NVARRAY_GETファンクションのパラメータ

パラメータ 説明

p_array

名前/値配列。

p_name

値の名前。

p_compare

名前の比較方法。値はCASE_SENSITIVEおよびCASE_INSENSITIVEです。

戻り値

指定した名前に一致した要素を戻します。指定した名前の要素が見つからない場合は、NULLを戻します。

103.4.6 NVARRAY_GET_BOOLEANファンクション

このファンクションは、p_nameに指定した名前/値配列の要素で、BOOLEAN_VALUE値タイプの要素の値を取得します。

構文

DBMS_MGWMSG.NVARRAY_GET_BOOLEAN (
   p_array    IN SYS.MGW_NAME_VALUE_ARRAY_T,
   p_name     IN VARCHAR2,
   p_compare  IN BINARY_INTEGER DEFAULT CASE_SENSITIVE )
RETURN INTEGER;

パラメータ

表103-27 NVARRAY_GET_BOOLEANファンクションのパラメータ

パラメータ 説明

p_array

名前/値配列。

p_name

値の名前。

p_compare

名前の比較方法。値はCASE_SENSITIVEおよびCASE_INSENSITIVEです。

戻り値

条件に一致した値を戻します。指定した名前が見つからないか、タイプが一致しない場合は、NULLを戻します。

103.4.7 NVARRAY_GET_BYTEファンクション

このファンクションは、p_nameに指定した名前/値配列の要素で、BYTE_VALUE値タイプの要素の値を取得します。

構文

DBMS_MGWMSG.NVARRAY_GET_BYTE (
   p_array    IN SYS.MGW_NAME_VALUE_ARRAY_T,
   p_name     IN VARCHAR2,
   p_compare  IN BINARY_INTEGER DEFAULT CASE_SENSITIVE )
RETURN INTEGER;

パラメータ

表103-28 NVARRAY_GET_BYTEファンクションのパラメータ

パラメータ 説明

p_array

名前/値配列。

p_name

値の名前。

p_compare

名前の比較方法。値はCASE_SENSITIVEおよびCASE_INSENSITIVEです。

戻り値

条件に一致した値を戻します。指定した名前が見つからないか、タイプが一致しない場合は、NULLを戻します。

103.4.8 NVARRAY_GET_DATEファンクション

このファンクションは、p_nameに指定した名前/値配列の要素で、DATE_VALUE値タイプの要素の値を取得します。

構文

DBMS_MGWMSG.NVARRAY_GET_DATE (
   p_array    IN SYS.MGW_NAME_VALUE_ARRAY_T,
   p_name     IN VARCHAR2,
   p_compare  IN BINARY_INTEGER DEFAULT CASE_SENSITIVE )
RETURN DATE;

パラメータ

表103-29 NVARRAY_GET_DATEファンクションのパラメータ

パラメータ 説明

p_array

名前/値配列。

p_name

値の名前。

p_compare

名前の比較方法。値はCASE_SENSITIVEおよびCASE_INSENSITIVEです。

戻り値

条件に一致した値を戻します。指定した名前が見つからないか、タイプが一致しない場合は、NULLを戻します。

103.4.9 NVARRAY_GET_DOUBLEファンクション

このファンクションは、p_nameに指定した名前/値配列の要素で、DOUBLE_VALUE値タイプの要素の値を取得します。

構文

DBMS_MGWMSG.NVARRAY_GET_DOUBLE (
   p_array    IN SYS.MGW_NAME_VALUE_ARRAY_T,
   p_name     IN VARCHAR2,
   p_compare  IN BINARY_INTEGER DEFAULT CASE_SENSITIVE )
RETURN NUMBER;

パラメータ

表103-30 NVARRAY_GET_DOUBLEファンクションのパラメータ

パラメータ 説明

p_array

名前/値配列。

p_name

値の名前。

p_compare

名前の比較方法。値はCASE_SENSITIVEおよびCASE_INSENSITIVEです。

戻り値

条件に一致した値を戻します。指定した名前が見つからないか、タイプが一致しない場合は、NULLを戻します。

103.4.10 NVARRAY_GET_FLOATファンクション

このファンクションは、p_nameに指定した名前/値配列の要素で、FLOAT_VALUE値タイプの要素の値を取得します。

構文

DBMS_MGWMSG.NVARRAY_GET_FLOAT (
   p_array    IN SYS.MGW_NAME_VALUE_ARRAY_T,
   p_name     IN VARCHAR2,
   p_compare  IN BINARY_INTEGER DEFAULT CASE_SENSITIVE )
RETURN NUMBER;

パラメータ

表103-31 NVARRAY_GET_FLOATファンクションのパラメータ

パラメータ 説明

p_array

名前/値配列。

p_name

値の名前。

p_compare

名前の比較方法。値はCASE_SENSITIVEおよびCASE_INSENSITIVEです。

戻り値

条件に一致した値を戻します。指定した名前が見つからないか、タイプが一致しない場合は、NULLを戻します。

103.4.11 NVARRAY_GET_INTEGERファンクション

このファンクションは、p_nameに指定した名前/値配列の要素で、INTEGER_VALUE値タイプの要素の値を取得します。

構文

DBMS_MGWMSG.NVARRAY_GET_INTEGER (
   p_array    IN SYS.MGW_NAME_VALUE_ARRAY_T, 
   p_name     IN VARCHAR2,
   p_compare  IN BINARY_INTEGER DEFAULT CASE_SENSITIVE )  
RETURN INTEGER;

パラメータ

表103-32 NVARRAY_GET_INTEGERファンクションのパラメータ

パラメータ 説明

p_array

名前/値配列。

p_name

値の名前。

p_compare

名前の比較方法。値はCASE_SENSITIVEおよびCASE_INSENSITIVEです。

戻り値

条件に一致した値を戻します。指定した名前が見つからないか、タイプが一致しない場合は、NULLを戻します。

103.4.12 NVARRAY_GET_LONGファンクション

このファンクションは、p_nameに指定した名前/値配列の要素で、LONG_VALUE値タイプの要素の値を取得します。

構文

DBMS_MGWMSG.NVARRAY_GET_LONG (
   p_array    IN SYS.MGW_NAME_VALUE_ARRAY_T,
   p_name     IN VARCHAR2,
   p_compare  IN BINARY_INTEGER DEFAULT CASE_SENSITIVE )
RETURN NUMBER;

パラメータ

表103-33 NVARRAY_GET_LONGファンクションのパラメータ

パラメータ 説明

p_array

名前/値配列。

p_name

値の名前。

p_compare

名前の比較方法。値はCASE_SENSITIVEおよびCASE_INSENSITIVEです。

戻り値

条件に一致した値を戻します。指定した名前が見つからないか、タイプが一致しない場合は、NULLを戻します。

103.4.13 NVARRAY_GET_RAWファンクション

このファンクションは、p_nameに指定した名前/値配列の要素で、RAW_VALUE値タイプの要素の値を取得します。

構文

DBMS_MGWMSG.NVARRAY_GET_RAW (
   p_array    IN SYS.MGW_NAME_VALUE_ARRAY_T,
   p_name     IN VARCHAR2,
   p_compare  IN BINARY_INTEGER DEFAULT CASE_SENSITIVE )
RETURN RAW;

パラメータ

表103-34 NVARRAY_GET_RAWファンクションのパラメータ

パラメータ 説明

p_array

名前/値配列。

p_name

値の名前。

p_compare

名前の比較方法。値はCASE_SENSITIVEおよびCASE_INSENSITIVEです。

戻り値

条件に一致した値を戻します。指定した名前が見つからないか、タイプが一致しない場合は、NULLを戻します。

103.4.14 NVARRAY_GET_SHORTファンクション

このファンクションは、p_nameに指定した名前/値配列の要素で、SHORT_VALUE値タイプの要素の値を取得します。

構文

DBMS_MGWMSG.NVARRAY_GET_SHORT (
   p_array    IN SYS.MGW_NAME_VALUE_ARRAY_T,
   p_name     IN VARCHAR2,
   p_compare  IN BINARY_INTEGER DEFAULT CASE_SENSITIVE )
RETURN INTEGER;

パラメータ

表103-35 NVARRAY_GET_SHORTファンクションのパラメータ

パラメータ 説明

p_array

名前/値配列。

p_name

値の名前。

p_compare

名前の比較方法。値はCASE_SENSITIVEおよびCASE_INSENSITIVEです。

戻り値

条件に一致した値を戻します。指定した名前が見つからないか、タイプが一致しない場合は、NULLを戻します。

103.4.15 NVARRAY_GET_TEXTファンクション

このファンクションは、p_nameに指定した名前/値配列の要素で、TEXT_VALUE値タイプの要素の値を取得します。

構文

DBMS_MGWMSG.NVARRAY_GET_TEXT (
   p_array    IN SYS.MGW_NAME_VALUE_ARRAY_T,
   p_name     IN VARCHAR2,
   p_compare  IN BINARY_INTEGER DEFAULT CASE_SENSITIVE )
RETURN VARCHAR2;

パラメータ

表103-36 NVARRAY_GET_TEXTファンクションのパラメータ

パラメータ 説明

p_array

名前/値配列。

p_name

値の名前。

p_compare

名前の比較方法。値はCASE_SENSITIVEおよびCASE_INSENSITIVEです。

戻り値

条件に一致した値を戻します。指定した名前が見つからないか、タイプが一致しない場合は、NULLを戻します。

103.4.16 XML_TO_LCRファンクション

このファンクションは、行LCR(LCR$_ROW_RECORD)またはDDL LCR(LCR$_DDL_RECORD)をカプセル化しているSYS.XMLTYPEオブジェクトを、SYS.ANYDATAオブジェクトに変換します。

構文

DBMS_MGWMSG.XML_TO_LCR (
   p_xmldata IN SYS.XMLTYPE )
 RETURN SYS.ANYDATA;

パラメータ

表103-37 XML_TO_LCRファンクションのパラメータ

パラメータ 説明

p_xmldata

LCRを表すXMLTYPEオブジェクト

戻り値

SYS.ANYDATAオブジェクトを戻します。

使用上の注意

p_xmldataをLCRに変換できない場合は、例外が発生します。