Windows での ODBC ドライバーの構成

Denodo Platform は、Windows 用の ODBC ドライバーを提供しています。このドライバーは、ODBC PostgreSQL ドライバーをベースとしています。

ODBC アプリケーションから Denodo に接続するには、 クライアントアプリケーションが実行されるマシンで 以下の手順に従って実施してください。

  1. ODBC ドライバーをインストールする

  2. Windows で新しいデータソース (DSN) を登録する

Windows への ODBC ドライバーのインストール

ODBC ドライバーは、 クライアントアプリケーションが実行されるマシン にインストールします。そのためには、以下の手順に従って実施してください。

  1. denodo-vdp-odbcdriver-windows.zip ファイルを取得します。そのためには、以下の手順に従います。

    1. インストール (<DENODO_HOME>/tools/client-drivers/odbc/denodo-vdp-odbcdriver-windows.zip) からコピーします。

    2. または、Denodo Community の ODBC ページ からダウンロードします。

      このページで、Windows 用のドライバー (名前は -win で終わります) をダウンロードします。接続する Denodo サーバー 以前の バージョンのパッケージを選択してください。たとえば、Denodo サーバーの更新プログラムが 7.0 20181011 の場合、パッケージ denodo-vdp-odbcdriver-7.0-update-20190312-win はこれより新しいため、ダウンロード しないでください

  2. このファイルの内容を展開し、それらをクライアントアプリケーションが実行されるホストにコピーします。

    このファイルには、以下の 2 つのファイルが含まれています。

    • DenodoODBC_x64.msi (フォルダー「msi」): 64 ビットクライアント用の ODBC ドライバーをインストールします。

    • DenodoODBC_x86.msi (フォルダー 「msi」): 32 ビットクライアント用の ODBC ドライバーをインストールします。

    同じホストに両方のファイルをインストールできます。そのため、すべてのアプリケーションはその「ビット数」に関係なくこの ODBC ドライバーを使用できます。

    32 ビットドライバーは、Microsoft Excel などの 32 ビットクライアント用です。Microsoft Excel は、64 ビット OS 上で実行されていて、64 ビット JRE で稼働している Virtual DataPort サーバーに接続する場合でも、32 ビット ODBC ドライバーだけを使用できます。

Windows での DSN のセットアップ

クライアントアプリケーションが実行されるホストに Denodo ODBC ドライバーをインストールしたら、Denodo サーバーを参照する新しいデータソース (DSN) を登録する必要があります。

これを行うには、以下の手順に従って実施してください。

  1. Windows 管理ツール (コントロールパネル) の ODBC データソース アプレットを開きます。

    これを開くには、Windows キーを押して、「 ODBC データ ソースのセットアップ 」と入力します。

    重要

    ODBC DSN を登録するためのダイアログは 2 つあります。1 つは 32 ビットアプリケーション用で、もう 1 つは 64 ビットアプリケーション用です。

    たとえば、Microsoft Excel から Denodo に接続するには、[ODBC データ ソースのセットアップ (32 ビット)] を使用します。

  2. [ユーザー DSN] タブで、[追加] をクリックします。

    DSN を作成する際は、Denodo に接続するアプリケーションを実行するユーザーと同じユーザーアカウントを使用します。それができない場合は、「システム DSN」を作成します。コンピュータのローカル管理者のみがシステム DSN を登録できます。管理者が DSN を作成できない場合、ユーザー DSN を作成します。

    「システム DSN」と「ユーザー DSN」の違いは、「ユーザー DSN」は現在のユーザーだけが使用できるのに対して、「システム DSN」はシステムのすべてのユーザーが使用できることです。

  3. [DenodoODBC Unicode] ドライバー (DenodoODBC ANSI ではありません) を選択して [完了] をクリックします。

  4. 構成ダイアログで、以下の情報を入力します。

    1. Database: Virtual DataPort のデータベース (admin など)。データベースの名前に非 ASCII 文字が含まれている場合、これらを URL エンコードする必要があります。たとえば、データベースの名前が「テスト」の場合、「%E3%83%86%E3%82%B9%E3%83%88」と入力します。

    2. ServerPort: Virtual DataPort を実行するサーバーのホスト名とポート。デフォルトの ODBC ポートは 9996 です。

    3. User NamePassword: Virtual DataPort ユーザーの資格情報。

      接続している Denodo データベースで Kerberos 認証が有効になっている場合、ドライバーはこれらの資格情報を無視します。代わりに、システムキャッシュから Kerberos チケットを取得します。

      注釈

      Kerberos 認証を使用できるようにするには、DSN の構成が以下の条件を満たしている必要があります。

      1. DSN が接続する Virtual DataPort データベースの構成で、[ODBC/ADDO.net authentication type] オプションが [Kerberos] に設定されている。このオプションが構成されているデータベースは、ログイン/パスワードを使用した認証を拒否します。

      2. クライアントが Windows ドメインに属している。これは、ODBC ドライバーがチケットキャッシュに対して Kerberos チケットをリクエストするためです。

      3. [Server] フィールドに、Denodo サーバーの完全修飾ドメイン名を入力する。つまり、Denodo サーバーの Kerberos 構成の [Server principal] フィールドが HTTP/denodo-prod.subnet1.contoso.com@CONTOSO.COM の場合、「 denodo-prod.subnet1.contoso.com 」と入力します。

    4. Virtual DataPort サーバーで SSL が有効にされている場合、[SSL Mode] リストで [require] を選択します。

Denodo ODBC driver: configuration dialog

Denodo ODBC ドライバー: 構成ダイアログ

  1. [Datasource] をクリックして [Advanced options] ダイアログを開きます。

    デフォルトのオプション (以下 のスクリーンショットを参照) で問題ありませんが、以下の事項に注意してください。

    • この DSN が受信したすべてのリクエストをログに記録する場合は、[CommLog (C:\denodoODBC_xxx.log)] と [MyLog (C:\mylog_xxx.log)] を選択します。

      重要

      本番環境では、これらのチェックボックスのチェックをはずすことをお勧めします。これは、すべてのリクエストをログに記録すると、ドライバーのパフォーマンスが低下し、ログファイルのサイズが非常に大きくなる場合があるためです。

    • [Unknown sizes] で、[Maximum] を選択します。この意味については、「 テキスト値の最大長 」を参照してください。

    • [Use Declare/Fetch] がチェックされているため、DSN は DECLARE CURSOR/FETCH を使用して SELECT ステートメントを処理します。これにより、DSN は結果の行を一度にすべてではなくブロック単位で取得します。[Chunk Size] は、各ブロックの行数を設定します。DSN の [Chunk size] は、JDBC コネクションの [Fetch size] に相当するものです。

Denodo ODBC driver: advanced configuration (Page 1)

Denodo ODBC ドライバー: 詳細構成 (1 ページ)

  1. [Page 2] をクリックします。

    デフォルトのオプション (以下 のスクリーンショットを参照) で問題ありません。

    また、[Level of rollback on errors] 領域で、[Transaction] を選択します。

Denodo ODBC driver: advanced configuration (Page 2)

Denodo ODBC ドライバー: 詳細構成 (2 ページ)

  • [Connect settings] ボックスに以下のステートメントを入力することで、Virtual DataPort に対して確立された ODBC コネクションのプロパティを設定できます。

    1. SET QUERYTIMEOUT TO <value> は、クエリのタイムアウトを変更します (値はミリ秒単位)。

    2. SET i18n TO <i18n> は、コネクションのロケールを変更します。

      たとえば、クエリのデフォルトのタイムアウトを 1 時間に設定するには、次のステートメントを追加します。

      SET QUERYTIMEOUT TO 3600000;
      SET I18N TO us_pst;
      

      各ステートメント間の ; に注意してください。

      次の表に、これらのプロパティの説明とそのデフォルト値を示します。

ODBC ドライバーのパラメーターとそのデフォルト値

コネクションプロパティ

説明

デフォルト値

QUERYTIMEOUT

ドライバーがクエリの完了を待機する最長時間 (ミリ秒)。この時間を過ぎると、ドライバーは例外をスローします。0 の場合、ドライバーはクエリが完了するまで無期限に待機します。

このパラメーターは、すべてのクエリのデフォルトタイムアウトを設定します。また、クエリの CONTEXT 句にパラメーター 'QUERYTIMEOUT' = '<value>' を追加することで、単一のクエリのタイムアウトを変更することもできます。この詳細については、『Advanced VQL Guide』の「 CONTEXT 句 」を参照してください。

900000 ミリ秒 (15 分)

i18n

サーバーとのコネクションのロケール (i18n) 構成を設定します。存在しない場合、ドライバーは接続しているデータベースのロケールを想定します。

クエリの結果の「date」フィールドは、コネクションのロケールに割り当てられているタイムゾーンに変換されます。

クエリの CONTEXT 句のパラメーター i18n は、このパラメーターの値より優先されます。

<接続しているデータベースのロケール>

  1. [Page 3] をクリックして以下を行います。

    1. [The use of LIBPQ library] オプションを [yes] に設定します。

    2. [User Agent] ボックスに、この DSN を使用するアプリケーションの名前を入力します。ログを記録するのに非常に便利であるため、すべての DSN でこのフィールドを Virtual DataPort に設定することをお勧めします。

    3. 通常、[Krbsrvname] はデフォルト値で問題ありません。接続しているデータベースで Kerberos 認証を有効にした場合、この値はサーバーのサービスプリンシパル名の「サービスクラス」と一致している必要があります。たとえば、サーバーの Kerberos 設定の [Server Principal] フィールドの値が HTTP/denodo1.contoso.com@CONTOSO.COM の場合、[Krbsrvname] の値は HTTP である必要があります。

Denodo ODBC driver: advanced configuration (Page 3)

Denodo ODBC ドライバー: 詳細構成 (3 ページ)

  1. [OK] をクリックして [Advanced Options] ダイアログを開きます。

  2. [Test] をクリックして Virtual DataPort へのコネクションをテストします。

  3. [OK] をクリックします。

DSN が構成され、使用する準備ができました。

DSN をセットアップしたら、「 サードパーティアプリケーションとの統合 」を参照することをお勧めします。

DSN の作成中にエラーが発生した場合は、管理権限を持つアカウントを使用してログインしてください。