DF ラッパー

Virtual DataPort は、CSV 区切りファイル向け、および正規表現を適用することで抽出可能なデータを含むその他のフラットテキストファイル向けにラッパーの作成をサポートしています。

以下の例は、区切り形式ファイルのラッパーの作成構文を示しています。

CREATE WRAPPER DF ステートメントの構文
CREATE [ OR REPLACE ] WRAPPER DF <name:identifier>
    [ FOLDER = <literal> ]
    DATASOURCENAME = <name:identifier>
    [ TUPLEROOT <XML node or path:literal> ]
    [ OUTPUTSCHEMA ( <field> [, <field> ]* ) ]
    [ SOURCECONFIGURATION ( [ <source configuration property>
                            [, <source configuration property> ]* ] ) ]

<field> ::=
      <name:identifier> [ = <mapping:literal> ] [ : <type:literal> ]
        [ ( { OBL | OPT } ) ]
        [ ( DEFAULTVALUE <literal> ) ]
        [ EXTERN ]
        [ <inline constraints> ]*
    | <name:identifier> [ = <mapping:literal> ] :
        ARRAY OF ( <register field> )
        [ ( DEFAULTVALUE <literal> ) ]
        [ <inline constraints> ]*
    | <name:register field>

<register field> ::=
    <name:identifier> [ = <mapping:literal> ] :
        REGISTER OF ( <field> [, <field> ]* )
          [ ( DEFAULTVALUE <literal> ) ]
          [ <inline constraints> ]*

<inline constraint> ::=
      [ NOT ] NULL
    | [ NOT ] UPDATEABLE
    | { SORTABLE [ ASC | DESC ] | NOT SORTABLE }
    | NULLVALUE <literal>
    | URIPARAM
<source configuration property> ::=
    DATAINORDERFIELDSLIST = { DEFAULT | ( <name:identifier> { ASC | DESC }
                                    [, <name:identifier> { ASC | DESC } ]* ) }
  • CREATE WRAPPER DF xxx ステートメントを実行したときに、同じ名前の DF ラッパーがすでに存在する場合、作成は失敗します。 OR REPLACE 修飾子を追加すると、現在の定義が新しい定義で置き換えられます。

  • データソースの名前を入力します : DATASOURCENAME

  • オプションで、他のラッパーと同様に、ラッパーによって返されるデータのスキーマを指定できます : OUTPUTSCHEMA

  • URIPARAM 句は常に EXTERN 句と一緒に使用され、このフィールドが補間変数の値を表すことを示します。 URIPARAM を追加することで、フィールドの値は URL のクエリパラメーターとしてエンコードされます。 URIPARAM は、パスが HTTP である DF データソースによってラッパーが作成され、変数が URL のクエリパラメーターの値である場合にのみ、追加する必要があります。詳細については、管理ガイドの「 HTTP パス 」(「 Virtual DataPort でのパスの種類 」のサブセクション) を参照してください。

  • デフォルトでは、DF ラッパーによって取得された値がない場合は NULL です。特定の文字列を NULL とみなす場合は、 NULL としてみなす文字列とともに NULLVALUE 修飾子をフィールドの定義に追加します。たとえば、field1 フィールドを次のように定義します : field1 = 'field1' (OPT) NULLVALUE ''

    実行時に、field1 の値が空の文字列の場合、ラッパーはこの値を NULL に変更します。

  • 最後に、特定のラッパープロパティを指定できます (SOURCECONFIGURATION)。Virtual DataPort は、ラッパーで実行できる操作を判別するためにこれらを考慮します。適用可能なプロパティは該当するステートメント宣言に示されています (「 CREATE WRAPPER DF ステートメントの構文 」)。詳細については、「 ラッパー構成プロパティ 」を参照してください。

注釈

このタイプのラッパーでは、レジスターまたは配列は出力スキーマのエレメントとしてサポートされていません。

区切り形式ファイルラッパーの変更ステートメントの構文も同様です。

ALTER WRAPPER DF ステートメントの構文
ALTER WRAPPER DF <name:identifier>
    [ DATASOURCENAME = <name:identifier> ]
    [ OUTPUTSCHEMA ( <field> [, <field> ]* ) ]
    [ SOURCECONFIGURATION ( [ <source configuration property>
    [, <source configuration property> ]* ] ) ]

<field> ::= (「 CREATE WRAPPER DF ステートメントの構文 」を参照)

<source configuration property> ::= (「 CREATE WRAPPER DF ステートメントの構文 」を参照)