ODBC データソース

ODBC データソースを作成するには、CREATE DATASOURCE ODBC ステートメントを使用します。

重要

Linux 上で実行している Virtual DataPort サーバーの場合、デフォルトでは ODBC データソースを作成できません。作成できるようにするには、管理ガイドの「 Virtual DataPort サーバーが Linux 上で動作している場合の ODBC ソースのサポートの有効化 」の手順に従います。

このコマンドのパラメーターは、 CREATE DATASOURCE JDBC コマンドとほぼ同じで、同様に機能します。相違点は以下のとおりです。

  • DATABASEURI: このパラメーターには ODBC URI または ローカル ファイルへのパスを指定できます。ファイルへのパスの場合は、補間変数を含めることができます。補間変数を使用してデータソースから基本ビューを作成する方法については、「 クエリの実行コンテキストと補間文字列 」を参照してください。

  • DSN: システム内に存在する ODBC データソースの名前です。この場合、Virtual DataPort サーバーは Sun JDBC/ODBC ブリッジを使用して、DSN に接続します。

注釈

ODBC ソースタイプの場合は、アクセスするデータソースが Virtual DataPort サーバーのローカルマシンに配置されている必要があります。それが不可能な場合は、ODBC 管理システムをインストールし、そこにリモートデータベースサーバーの ODBC ドライバーを登録する必要があります。

CREATE DATASOURCE ODBC ステートメントの構文
CREATE [ OR REPLACE ] DATASOURCE ODBC <name:identifier>
    [ FOLDER = <literal> ]
    {   DSN = <literal>
      | DATABASEURI = <literal> DRIVERCLASSNAME = <literal>
    }
    {
        <credentials>
      | WITH PASS-THROUGH SESSION CREDENTIALS ( <credentials> )
    }
    [ PROPERTIES = <literal> ]
    [ CLASSPATH = <literal> ]
    [ DATABASENAME = <literal> DATABASEVERSION = <literal> ]
    [ ISOLATIONLEVEL =
        {   TRANSACTION_NONE
          | TRANSACTION_READ_COMMITTED
          | TRANSACTION_READ_UNCOMMITTED
          | TRANSACTION_REPEATABLE_READ
          | TRANSACTION_SERIALIZABLE
    ]
    [ IGNORETRAILINGSPACES = { true | false } ]
    [ FETCHSIZE = <integer> ]
    [
        <pool configuration 1>
      | <pool configuration 2>
      | <pool configuration 3>
    ]
    [ TRANSFER_RATE_FACTOR = <double> ]
    [ DESCRIPTION = <literal> ]
    [ SOURCECONFIGURATION ( [ <source configuration property>
                            [, <source configuration property> ]* ] ) ]

<credentials> ::=
  USERNAME = <literal> USERPASSWORD = <literal> [ ENCRYPTED ]

<pool configuration 1> ::=
  VALIDATIONQUERY = <literal>
  INITIALSIZE = <integer>
  MAXACTIVE = <integer>

<pool configuration 2> ::=
  VALIDATIONQUERY = <literal>
  INITIALSIZE = <integer>
  MAXACTIVE = <integer>
  EXHAUSTEDACTION = <integer>

<pool configuration 3> ::=
  VALIDATIONQUERY = <literal>
  INITIALSIZE = <integer>
  MAXIDLE = <integer>
  MINIDLE = <integer>
  MAXACTIVE = <integer>
  EXHAUSTEDACTION = <integer>
  TESTONBORROW = <boolean>
  TESTONRETURN = <boolean>
  TESTWHILEIDLE = <boolean>
  [ <pool sub-configuration 1> ]

<pool sub-configuration 1> ::=
  TIMEBETWEENEVICTION = <integer>
  NUMTESTPEREVICTION = <integer>
  MINEVICTABLETIME = <integer>
  [ <pool sub-configuration 2> ]

<pool sub-configuration 2> ::=
  POOLPREPAREDSTATEMENTS = <boolean>
  MAXSLEEPINGPS = <integer>
  INITIALCAPACITYPS = <integer>

<source configuration property> ::=
    DELEGATEALLOPERATORS = <property value>
  | DELEGATEARRAYLITERAL = <property value>
  | DELEGATECOMPOUNDFIELDPROJECTION = <property value>
  | DELEGATEGROUPBY = <property value>
  | DELEGATEHAVING = <property value>
  | DELEGATEINNERJOIN = <property value>
  | DELEGATEJOIN = <property value>
  | DELEGATELEFTFUNCTION = <property value>
  | DELEGATELEFTLITERAL = <property value>
  | DELEGATELITERALEXPRESSION = <property value>
  | DELEGATEMIXEDAGGREGATEEXPRESSION = <property value>
  | DELEGATENATURALOUTERJOIN = <property value>
  | DELEGATENOTCONDITION = <property value>
  | DELEGATEORCONDITION = <property value>
  | DELEGATEORDERBY = <property value>
  | DELEGATEPROJECTION = <property value>
  | DELEGATEREGISTERLITERAL = <property value>
  | DELEGATERIGHTFIELD = <property value>
  | DELEGATERIGHTFUNCTION = <property value>
  | DELEGATERIGHTLITERAL = <property value>
  | DELEGATESELECTDISTINCT = <property value>
  | DELEGATESELECTION = <property value>
  | DELEGATEUNION = <property value>
  | SUPPORTSAGGREGATEFUNCTIONSOPTIONS = <property value>
  | SUPPORTSBRANCHOUTERJOIN = <property value>
  | SUPPORTSEQOUTERJOINOPERATOR = <property value>
  | SUPPORTSEXPLICITCROSSJOIN = <property value>
  | SUPPORTSFULLEQOUTERJOIN = <property value>
  | SUPPORTSFULLNOTEQOUTERJOIN = <property value>
  | SUPPORTSFUSINGINUSINGANDNATURALJOIN = <property value>
  | SUPPORTSJOINONCONDITION = <property value>
  | SUPPORTSNATURALJOIN = <property value>
  | SUPPORTSUSINGJOIN = <property value>
  | DELEGATEAGGREGATEFUNCTIONS = {
        DEFAULT
      | ( <function:identifier> [, <function:identifier> ]* ] )
      }
  | DELEGATESCALARFUNCTIONS = {
        DEFAULT
      | ( <function:identifier> [, <function:identifier> ]* ] )
      }
  | DELEGATEOPERATORSLIST = {
        DEFAULT
      | ( <operator:identifier> [, <operator:identifier> ]* ] )
      }

<property value> ::=
    true
  | false
  | DEFAULT

ODBC データソースを変更するには、ALTER DATASOURCE ODBC ステートメントを使用します。

ALTER DATASOURCE ODBC ステートメントの構文
ALTER DATASOURCE ODBC <name:identifier>
    [   DSN = <literal>
      | DATABASEURI = <literal> DRIVERCLASSNAME = <literal>
    ]
    [
        <credentials>
      | WITH PASS-THROUGH SESSION CREDENTIALS ( <credentials> )
    ]
    [ PROPERTIES = <literal> ]
    [ CLASSPATH = <literal> ]
    [ DATABASENAME = <literal> DATABASEVERSION = <literal> ]
    [ ISOLATIONLEVEL =
        {   TRANSACTION_NONE
          | TRANSACTION_READ_COMMITTED
          | TRANSACTION_READ_UNCOMMITTED
          | TRANSACTION_REPEATABLE_READ
          | TRANSACTION_SERIALIZABLE
    ]
    [ IGNORETRAILINGSPACES = { true | false } ]
    [ FETCHSIZE = <integer> ]
    [
      VALIDATIONQUERY = <literal>
      INITIALSIZE = <integer>
      MAXACTIVE = <integer>
      [ TESTONBORROW = <boolean> ]
    ]
    [ TRANSFER_RATE_FACTOR = <double> ]
    [ DESCRIPTION = <literal> ]
    [ SOURCECONFIGURATION ( [ <source configuration property>
                            [, <source configuration property> ]* ] ) ]
<credentials> ::=
  USERNAME = <literal> USERPASSWORD = <literal> [ ENCRYPTED ]

<source configuration property> ::= (see CREATE DATASOURCE ODBC for details)

これらのステートメントで利用する一部のパラメーターの説明 :

  • MAXACTIVE: プールが同時に管理できるアクティブなコネクションの最大数。 DATABASEURI パラメーターに補間変数が含まれる場合、コネクションプールは使用されません。

    • 負の値 (-1 など) の場合、アクティブな最大コネクション数はありません。

    • 0 の場合は、プールは無効になります。したがって、Virtual DataPort は、このソースにクエリを送信するたびに、このデータベースへの新しいコネクションを開きます。クエリが終了すると、そのクエリで開いたコネクションが閉じられます。

  • TRANSFER_RATE_FACTOR: Denodo サーバーとデータソース間のネットワーク接続速度の相対的な測定値。従来の 100 Mbps LAN を介してデータソースにアクセス可能な場合は、デフォルト値 (オンプレミスの JDBC データベースの場合は 1) を使用します。より高速なネットワークの場合はより大きな値を、WAN 経由でアクセス可能なデータソースの場合はより小さな値を使用します。