メインコンテンツまでスキップ
waffle.svg
Domo Knowledge Base - 日本人

Workbench 5でODBCデータに接続する

Version 2

はじめに

Workbench 4では、ODBC DataSetジョブを作成できます。データソースタイプにODBCを選択したら、接続の詳細を指定し、そしてクエリを設定することができます。

注記:Workbench 5は、使用しているWindowsが32ビット版なのか、64ビット版なのかを、実行時に判断します。従って、バージョンを指定するよう尋ねるようなことはありません。

トレーニングビデオ - ODBC接続を作成する

ビデオが必要

トレーニングビデオ - システムDSNを作成する

ビデオが必要

注記:この製品トレーニングビデオは、Domoのお客様とクライアント様のみを対象としています。

ODBCデータに接続する

Workbench 5でODBC DataSetジョブを作成するには、

  1. 左側のアイコンバーにあるwb5_jobs_icon.pngアイコンをクリックします。 

  2. ジョブリストペインの右上にある [+] ボタンをクリックします。

  3. [Domoドメイン] ドロップダウンメニューで、必要なアカウント(Domoインスタンス)を選択します。
    アカウントが1つしか設定されていない場合は、そのアカウントが既に選択されているためメニューは使用できません。

  4. [名前] フィールドに、DataSetジョブの名前を入力します。
    これは、Workbenchで表示されるジョブ名です。DomoにアップロードされたDataSet名ではありません

  5. [トランスポートタイプ] メニューで、[ODBC接続プロバイダー] を選択します。

  6. [読み取りタイプ] メニューで、[データベースクエリ] を選択します。

  7. [DataSet名] フィールドに、DataSet名を入力します。これは、DomoにアップロードされたDataSet名です。
    新しいジョブを保存した後に変更できるのは、この設定のみです

  8. [DataSetタイプ] フィールドに、ドロップダウンからDataSetのタイプを選択します。
    ここで選択または入力するDataSetのタイプは、ジョブ実行後のDomoのコネクタータイプに反映されます。

  9. 適宜DataSetの説明を入力します。
    これは、Domoに表示されるDataSetの説明です。 

  10. [作成] をクリックします。

    現在認証されているアカウントのジョブリストに、ODBC DataSetジョブが新規に追加されます。ジョブを作成した後は、DataSet名以外の設定は編集できません。他の設定を変更する場合は、新しいジョブを作成する必要があります。 

  11. [設定] サブタブをクリックします。

  12. 「ソース」の下の [編集] をクリックします。

    ODBC接続を設定し、クエリを定義するためのパネルが開きます。

  13. [接続タイプ] フィールドで、接続オプションを選択します。

    以下の表に、利用可能なオプションを説明しています。

    オプション

    説明

    システムのDSN

    システムで利用可能なDSNから、目的のDataSetに使用するDSNを指定します。認証が必要かどうかを指定できます。

    注記:

    • ODBC DataSetからデータをアップロードするとき、既存のデータソース名(DSN)を指定する必要があります。DSNは、Windows ODBCデータソースアドミニストレーターを使用して作成できます(Windows ODBCデータソースアドミニストレーターにアクセスするには、スタートメニューの検索で「ODBC」と入力し、「データソース(ODBC)」を選択します)。DSNの作成に関する詳細は、Windows ODBCヘルプ(Windowsヘルプとサポートで「ODBC」を検索)を参照するか、Workbench 4にある以下のトレーニングビデオを参照してください。MySQLドライバの設定に関する詳細は、「MySQLドライバのパフォーマンスを向上させるには」を参照してください。 

    • DataSet名(DSN)の定義方法、およびOpen Database Connectivity(ODBC)を使用したデータへのアクセスに関する情報は、ODBCの資料を参照してください。

    • デフォルトでは、ODBC接続はDSNで定義された設定を使用します。つまり、データベースにとって潜在的に有害なクエリでも、ジョブをプレビューや実行したりするときにODBC接続を通して送信することが許されてしまいます。これには、alterdeletecreate tableinsert intoなどのステートメントも含まれます。Workbenchがこういったコマンドを実行するのを防ぎたい場合は、DSNにこの変更を行う必要があります。

    接続ビルダー

    ログイン認証やドライバー、サーバーURL、データベース名、ポート、タイムアウト値、接続パラメーターなど、ODBC接続の詳細を入力します。  

    接続文字列

    接続のための文字列をひとつ入力します。

  14. (条件付き)以下のいずれかを行ってください。

    • [接続タイプ][システムDSN] を選択した場合は...

      1. [システムDSN] メニューで、利用可能なDSNから目的のシステムDSNを選択します。

      2. (条件付き)このDSN接続が接続に認証を必要とする場合は、[認証が必要] をオンにし、ユーザー名とパスワードを該当フィールドに入力します。それ以外の場合は、[認証が必要] はオフにします。

    • [接続タイプ][接続ビルダー] を選択した場合は...

      1. フィールドに適切な情報を入力します。

        接続によっては、パラメーターは必要または不要になります。

        以下の表を参考にしてください。

        フィールド

        説明

        ドライバー

        データベースにアクセスするのに使うドライバー名を指定します。

        サーバー

        データベースのサーバー名またはURLを指定します。 

        データベース

        アクセスするデータベースの名前を指定します。 

        ポート

        データベースのポート番号を入力します。デフォルトのポートは、MySQLのポートです。 

        タイムアウト

        DataSetから更新が行うまで接続を継続するタイムアウト値を、秒数で指定します。 

        ユーザー名

        データベースの接続に使用するユーザー名を指定します。 

        パスワード

        データベースの接続に使用するパスワードを指定します。 

        接続パラメータ

        DataSet接続のためのパラメータを指定します。 

    • [接続タイプ][接続文字列] を選択した場合は...

      1. データソースに接続するのに使用する接続文字列を入力します。   

  15. [適用] をクリックします。

  16. 「処理中」の下の [編集] ボタンをクリックします。

  17. [クエリ実行タイムアウト] メニューで、タイムアウト値を設定します。
    これは、長時間実行されているジョブがタイムアウトになるまでの秒数です。

  18. [クエリ] ペインで、取得したいデータのクエリを入力します。例:

    SELECT
    order_audit_id,
    user_name,
    customer_name,
    order_source,
    order_total,
    created
    FROM order_audit

  19. (オプション)[置換変数] タブと [グローバル置換変数] サブタブで、DataSetの列の置き換え変数を定義します。それぞれの置換変数に対して...

    1. [列] ドロップダウンから該当する列を選択します。

      注記:[トランスポート方法] ペインで有効なODBC接続を作成するまで、[列] ドロップダウンに内容は追加されません。
    2. 選択した列の置換変数を、[値] ドロップダウンで定義します。

      変数タイプ

      説明

      lastvalue

      lastvalue変数は、関連付けられたジョブの最新のアップロードとともに送信されたデータ行の最終列について、関連するフィールドの変化を追跡します。構文は

      !{lastvalue:_name_}!

      lastvalue変数の値は、アップロード終了後にWorkbenchによって更新されます。lastvalue変数は、ジョブ(.xml)ファイルに保存されます。この変数を使って、実行のたびに「新しい」行のみを取得するクエリを作成することができます。たとえば、新しい行が増えるに従って増えていく行の「id」を持つ列がデータに存在する場合、

      !{lastvalue:id}!

      を含むクエリを作成することができます。以下のようになります:

      select id, name, type, sales from tablename where id > !{lastvalue:id}! order by id

      この例では、列 「id」 はSELECTWHEREORDER BY節に必ずないと、変数を使用して更新できません

      このジョブをアップロードするときは、Workbenchは

      !{lastvalue:id}!

      変数を現在の「id」値と置き換えます。アップロード終了後、Workbenchは最後にアップロードされた「id」の値をジョブ(.xml)ファイルに保存します。

      注記:SELECTWHERE、およびORDER BY節の中でlastvalue変数を使って参照した列は必ず含めないと、データのアップロード後に変数を使用して更新できません

      previewonly

      Workbenchのプレビューを読み込む際、特定の操作が必要であることを示します。たとえば、プレビューでは、データソースに存在する1,000,000件のデータではなく100行のみ返すように要求することができます。構文は

      !{previewonly:Statement}!

  20. [適用] をクリックします。

  21. [更新方法] メニューで、更新する方法を選択します。

    • 更新時に、DataSetを完全に入れ替えたい場合は、[DataSetを置換] を選択します。

    • 更新データを既存のデータに追加したい場合は、[DataSetに追加] を選択します。

これでDomoにODBC DataSetが作成され、DataSetジョブを実行する準備ができました。しかし、Domoに送信する前にDataSetジョブでできる操作はたくさんあります。これには以下のものが含まれます。