ODBC ラッパー

ODBC ラッパーは ODBC データソースに対してクエリを実行できます。

CREATE WRAPPER ODBC ステートメントは JDBC ラッパー向けに定義された構造と同じ構造に従います。このタイプのラッパーを作成するには、ODBC データソース、ソースからデータを取得するために使用されるテーブルまたは SQL ステートメント、ラッパーによって提供される出力スキーマを指定する必要があります。詳細については、「 JDBC ラッパー 」を参照してください。

CREATE WRAPPER ODBC ステートメントの構文
CREATE [ OR REPLACE ] WRAPPER ODBC <name:identifier>
    [ FOLDER = <literal> ]
    DATASOURCENAME = <name:identifier>
    {
        [   SCHEMANAME = <name:literal> ] RELATIONNAME = <name:literal>
          | SQLSENTENCE = <literal>
    }
    [ OUTPUTSCHEMA ( <field> [, <field> ]* ) ]
    [ ALIASES ( <alias> [, <alias> ]* ) ]
    [ SOURCECONFIGURATION ( [ <source configuration property>
                            [, <source configuration property> ]* ] ) ]

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

<field property> ::=
      DEFAULTVALUE
    | SOURCETYPENAME
    | SOURCETYPEID
    | SOURCETYPESIZE
    | SOURCETYPEDECIMALS
    | SOURCETYPERADIX

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

<inline constraint> ::=
      [ NOT ] NULL
    | [ NOT ] UPDATEABLE
    | { SORTABLE [ ASC | DESC ] | NOT SORTABLE }
    | ESCAPE
    | EXTERN
    | IS_AUTOINCREMENT

<alias> ::=
  <literal> = <literal>

<source configuration property> ::=
    ALLOWDELETE = { true | false | DEFAULT }
  | ALLOWINSERT = { true | false | DEFAULT }
  | ALLOWUPDATE = { true | false | DEFAULT }
  | DELEGATESQLSELECTION = { true | false | DEFAULT }
  | DATAINORDERFIELDSLIST = { ( <name:identifier> { ASC | DESC }
                          [, <name:identifier> { ASC | DESC } ]* ) | DEFAULT }
  | SUPPORTSDISTRIBUTEDTRANSACTIONS = { true | false | DEFAULT }

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

<inline constraint> ::=
    [ NOT ] NULL
  | [ NOT ] UPDATEABLE
  | { SORTABLE [ ASC | DESC ] | NOT SORTABLE }
  | ESCAPE
  | EXTERN
  | IS_AUTOINCREMENT

<alias> ::=
  <literal> = <literal>

<source configuration property> ::=
    ALLOWDELETE = { true | false | DEFAULT }
  | ALLOWINSERT = { true | false | DEFAULT }
  | ALLOWUPDATE = { true | false | DEFAULT }
  | DELEGATESQLSELECTION = { true | false | DEFAULT }
  | DATAINORDERFIELDSLIST = { ( <name:identifier> { ASC | DESC }
                          [, <name:identifier> { ASC | DESC } ]* ) | DEFAULT }
  | SUPPORTSDISTRIBUTEDTRANSACTIONS = { true | false | DEFAULT }

ラッパー作成ステートメントには OR REPLACE 修飾子を指定することができます。指定されると、同じ名前のラッパーがすでに存在する場合に、その定義が新しい定義で置き換えられます。

ラッパーで実行可能な操作を判別する SOURCECONFIGURATION 句で、特定のラッパープロパティを指定できます。指定可能なプロパティは上記の例に示されています。それぞれの意味については、「 ラッパー構成プロパティ 」を参照してください。

ALTER WRAPPER ODBC ステートメントの構文
ALTER WRAPPER ODBC <name:identifier>
    [ DATASOURCENAME = <name:identifier> ]
    [
          [ SCHEMANAME = <name:literal> ] RELATIONNAME = <name:literal>
        | SQLSENTENCE = <literal>
    ]
    [ OUTPUTSCHEMA ( <field> [, <field>]* ) ]
    [ ALIASES ( <alias> [, <alias>]* ) ]
    [ SOURCECONFIGURATION ( [ <source configuration property>
    [, <source configuration property> ]* ]) ]

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

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

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