> ## Documentation Index
> Fetch the complete documentation index at: https://domoinc-openapi-sync-dataflows.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Workbench 4でODBCデータに接続する

<Warning>
  **重要：** Workbench 4のサポートは **2021年4月15日** に終了しました。インストール済みのマシンではWorkbenchは引き続き実行できますが、機能強化やセキュリティアップデートは行われません。Workbench 4で問題が発生した場合にDomoサポートチームから推奨する措置は、Workbench 5の最新バージョンにアップグレードすることです。 Workbench 5については、 [**こちらの記事**](/ja/s/article/360042932734) を参照してください。
</Warning>

### はじめに

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

<Note>
  **注記：** Workbench 4の実行時に、使用しているWindowsが32ビット版なのか64ビット版なのかが判定されます。ユーザーがどちらかのバージョンを指定するよう求められることはありません。
</Note>

***

### ODBCデータに接続する

**Workbench 4でODBC DataSetジョブを作成するには：**

1. Workbenchウィンドウの上部にあるボタンツールバーの **［DataSetジョブ］** グループで **［新規に追加］** をクリックします。

   **Workbench DataSetジョブ作成ウィザード** が開きます。

2. （条件付き）要求されたら、Domoサーバーを選択します（この画面は、Workbenchでサーバーを1つ以上設定している場合のみ表示されます）。

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

4. **［DataSet名］** フィールドに、DataSet名を入力します。これは、DomoにアップロードされたDataSet名です。

5. **［更新方法］** メニューで、更新する方法を選択します。

   * 更新時にDataSetを完全に入れ替えたい場合は、**［Replace DataSet］** を選択します。
   * 更新時に新しいデータを既存のDataSetに追加したい場合は、**［Append to DataSet］** を選択します。

6. **［トランスポート方法］** メニューで、 **［ODBC接続プロバイダー］** を選択します。

7. **［次へ］** をクリックします。

8. **［DataSetタイプ］** フィールドで、DataSetのタイプをドロップダウンから選択するか、カスタマイズされた名前を入力します。

   ここで選択または入力するDataSetのタイプは、ジョブ実行後のDomoのコネクタータイプに反映されます。

   <Tip>
     **ヒント：** DataSetタイプを選択または入力する際は、データを提示するのに使っているデータリーダーでは *なく* 、データが何を表しているのかをユーザーが分かるようなものにすることを推奨します。例えば、Twitterのデータを含むODBCデータベースに接続するとします。この場合は、 **ODBC** を選択するのではなく「Twitter」と入力するのがベストプラクティスです。Domoで表示しているのは、Twitterから来ているデータであるためです。
   </Tip>

9. （オプション）**［DataSetの説明］** フィールドに説明を入力します。

   <Note>
     **注記：** これらの設定は、ウィザードですべてのステップを完了した後でも、トランスポート方法 *以外* は、DataSetジョブの **［ソース］** パネルで変更することができます。
   </Note>

10. **［次へ］** をクリックします。

    **［アカウント］** ペインの現在認証されているサーバーのジョブリストに、ODBC DataSetジョブが新規に追加されます。

11. 今ジョブリストに追加されたばかりのODBC DataSetジョブで、**［ソース］** を選択します。

    パネルが開きます。パネルには、ODBC接続を設定し、クエリを定義するためのオプションが用意されています。

12. **［接続タイプ］** フィールドで、接続オプションを選択します。

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

    <table border="1" cellpadding="1" cellspacing="1">
      <thead>
        <tr><th colspan="1" rowspan="1"><p> オプション </p></th><th colspan="1" rowspan="1"><p> 説明 </p></th></tr>
      </thead>

      <tbody>
        <tr>
          <td colspan="1" rowspan="1">
            <p> システムのDSN </p>
          </td>

          <td colspan="1" rowspan="1">
            <p> システムで利用可能なDSNから、目的のDataSetに使用するDSNを指定します。認証が必要かどうかを指定できます。 </p>

            <Note>
              <div class="info-box-wrapper"><div class="info-box-icon-container"><span class="info-box-icon" /></div><div class="info-box-content-container"><div class="info-box-content"><p><span><b> 注記： </b></span></p><ul><li><p><span> ODBC DataSetからデータをアップロードするとき、既存のデータソース名（DSN）を指定する必要があります。DSNは、Windows ODBCデータソースアドミニストレーターを使用して作成できます（Windows ODBCデータソースアドミニストレーターにアクセスするには、スタートメニューの検索で「ODBC」と入力し、［データソース（ODBC）］を選択します）。DSNの作成に関する詳細については、Windows ODBCヘルプ（Windowsヘルプとサポートで「ODBC」を検索）を参照するか、「 <a href="/s/article/360046761214" target="_self" title="Workbench 4"> MySQL ドライバのパフォーマンスを向上させるには、どうしたらよいですか？ </a></span> 」のトレーニング動画を参照してください。 </p></li><li><p><span> DataSet名（DSN）の定義方法、およびOpen Database Connectivity（ODBC）を使用したデータへのアクセスに関する情報については、ODBCの資料を参照してください。 </span></p></li><li><p><span> デフォルトでは、ODBC接続はDSNで定義された設定を使用します。つまり、データベースにとって潜在的に有害なクエリでも、ジョブをプレビューや実行したりするときにODBC接続を通して送信することが許されてしまいます。これには、 <span class="mt-font-courier-new"> alter </span> や <span class="mt-font-courier-new"> delete </span> 、 <span class="mt-font-courier-new"> create table </span> 、 <span class="mt-font-courier-new"> insert into </span> などのステートメントも含まれます。Workbenchがこういったコマンドを実行するのを防ぎたい場合は、DSNにこの変更を行う必要があります。 </span></p></li></ul></div></div></div>
            </Note>
          </td>
        </tr>

        <tr><td colspan="1" rowspan="1"><p> 接続ビルダー </p></td><td colspan="1" rowspan="1"><p> ログイン認証情報やドライバー、サーバーURL、データベース名、ポート、タイムアウト値、接続パラメーターなど、ODBC接続の詳細を入力します。 </p></td></tr><tr><td colspan="1" rowspan="1"><p> 接続文字列 </p></td><td colspan="1" rowspan="1"><p> 接続のための文字列を1つ入力します。 </p></td></tr>
      </tbody>
    </table>

13. （条件付き）以下のいずれかを行ってください。

    * **［接続タイプ］** に **［システムDSN］** を選択した場合は、

      1. **［システムDSN］** メニューで、利用可能なDSNから目的のシステムDSNを選択します。
      2. （条件付き）このDSN接続が接続に認証を必要とする場合は、**［認証が必要］** をオンにし、ユーザー名とパスワードを該当フィールドに入力します。それ以外の場合は、 **［認証が必要］** はオフにします。

    * **［接続タイプ］** に **［接続ビルダー］** を選択した場合は、

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

         接続によっては、パラメーターが必要となったり、不要となったりする場合があります。

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

         <table border="1" cellpadding="1" cellspacing="1"><thead><tr><th colspan="1" rowspan="1"><p> フィールド </p></th><th colspan="1" rowspan="1"><p> 説明 </p></th></tr></thead><tbody><tr><td colspan="1" rowspan="1"><p> ドライバー </p></td><td colspan="1" rowspan="1"><p> データベースにアクセスするために使うドライバー名を指定します。 </p></td></tr><tr><td colspan="1" rowspan="1"><p> サーバー </p></td><td colspan="1" rowspan="1"><p> データベースのサーバー名またはURLを指定します。 </p></td></tr><tr><td colspan="1" rowspan="1"><p> データベース </p></td><td colspan="1" rowspan="1"><p> アクセスするデータベースの名前を指定します。 </p></td></tr><tr><td colspan="1" rowspan="1"><p> ポート </p></td><td colspan="1" rowspan="1"><p> データベースのポート番号を入力します。デフォルトのポートは、MySQLのポートです。 </p></td></tr><tr><td colspan="1" rowspan="1"><p> タイムアウト </p></td><td colspan="1" rowspan="1"><p> DataSetから更新が行われるまで接続を継続するタイムアウト値を、秒数で指定します。 </p></td></tr><tr><td colspan="1" rowspan="1"><p> ユーザー名 </p></td><td colspan="1" rowspan="1"><p> データベースの接続に使用するユーザー名を指定します。 </p></td></tr><tr><td colspan="1" rowspan="1"><p> パスワード </p></td><td colspan="1" rowspan="1"><p> データベースの接続に使用するパスワードを指定します。 </p></td></tr><tr><td colspan="1" rowspan="1"><p> 接続パラメーター </p></td><td colspan="1" rowspan="1"><p> DataSet接続のためのパラメーターを指定します。 </p></td></tr></tbody></table>

    * **［接続タイプ］** に **［接続文字列］** を選択した場合は、

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

14. **［Validate Configuration］をクリックします。**

15. **［データソースのプロパティ］** ペインで、取得したいデータのクエリを入力します。例：

    \`SELECT

    order\_audit\_id,

    user\_name,

    customer\_name,

    order\_source,

    order\_total,

    created

    FROM order\_audit\`

16. (オプション）**［置換変数］** タブで、DataSetの列の置き換え変数を定義します。それぞれの置換変数に対して、

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

       <Note>
         **注記：** **［トランスポート方法］** ペインで有効なODBC接続を作成するまで、 **［列］** ドロップダウンに内容は追加されません。
       </Note>

    2. 選択した列の置換変数を、**［値］** ドロップダウンで定義します。

       <table border="1" cellpadding="1" cellspacing="1">
         <thead>
           <tr><th colspan="1" rowspan="1"><p> 変数タイプ </p></th><th colspan="1" rowspan="1"><p> 説明 </p></th></tr>
         </thead>

         <tbody>
           <tr>
             <td colspan="1" rowspan="1">
               <p><span class="mt-font-courier-new"> lastvalue </span></p>
             </td>

             <td colspan="1" rowspan="1">
               <p><span class="mt-font-courier-new"> lastvalue </span> 変数は、関連付けられたジョブの最新のアップロードとともに送信されたデータの最終行について、関連するフィールドを追跡します。構文は次のとおりです。 </p><p><code>!\{lastvalue:*name*}! </code></p><p><span class="mt-font-courier-new"> lastvalue </span> 変数の値は、アップロードの終了後にWorkbenchで更新されます。 <span class="mt-font-courier-new"> lastvalue </span> 変数は、ジョブ（ <span class="mt-font-courier-new">.xml </span> ）ファイルに保存されます。この変数を使って、実行のたびに「新しい」行のみを取得するクエリを作成することができます。例えば、新しい行が増えるたびに値が増えていく、行の「id」を持つ列がデータに存在する場合、 </p><p><code>!\{lastvalue:id}! </code></p><p> を含むクエリを作成することができます。以下のようになります。 </p><p><code> select id, name, type, sales from tablename where id >!\{lastvalue:id}! order by id </code></p><p> この例では、「id」列が <span class="mt-font-courier-new"> SELECT </span> 、 <span class="mt-font-courier-new"> WHERE </span> 、 <span class="mt-font-courier-new"> ORDER BY </span> 節に必ず含まれていないと、変数を使用して更新することが <em> できません </em> 。 </p><p> このジョブをアップロードするときにWorkbenchは、 </p><p><code>!\{lastvalue:id}! </code></p><p> 変数を現在の「id」値と置き換えます。アップロード終了後、Workbenchは最後にアップロードされた「id」の値をジョブ（ <span class="mt-font-courier-new">.xml </span> ）ファイルに保存します。 </p>

               <Note>
                 <div class="info-box-wrapper"><div class="info-box-icon-container"><span class="info-box-icon" /></div><div class="info-box-content-container"><div class="info-box-content"><b> 注記： </b><span class="mt-font-courier-new"> SELECT </span> 、 <span class="mt-font-courier-new"> WHERE </span> 、 <span class="mt-font-courier-new"> ORDER BY </span> 節の中で <span class="mt-font-courier-new"> lastvalue </span> 変数を使って参照した列は必ず含めないと、データのアップロード後に変数を使用して更新することが <em> できません </em> 。 </div></div></div>
               </Note>
             </td>
           </tr>

           <tr><td colspan="1" rowspan="1"><p><span class="mt-font-courier-new"> previewonly </span></p></td><td colspan="1" rowspan="1"><p> Workbenchのプレビューを読み込む際、特定の操作が必要であることを示します。例えば、プレビューでは、データソースに存在する1,000,000件のデータではなく100行のみ返すように要求することができます。構文は次のとおりです。 </p><p><code>!\{previewonly:Statement}! </code></p></td></tr>
         </tbody>
       </table>

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

* [ジョブの更新スケジュールを設定する](/ja/s/article/360046856934 "Workbench 4でジョブをスケジュールする")
* [Windowsタスクスケジューラで高度なスケジュールが設定されたジョブグループに、ジョブを追加する](/ja/s/article/360046857074 "Workbench 4でスケジュールグループを作成する")
* [ジョブの更新が成功または失敗したら通知するよう設定する](/ja/s/article/360047494393 "Workbench 4で通知を設定する")
* [Workbenchデータの暗号化と復号を行う](/ja/s/article/360047501293 "Workbench 4でデータの暗号化と復号化を行う")
* [計算を使用して新しい列を作成する](/ja/s/article/360046861474 "計算を使用してWorkbench 4で列を作成する")
* [列にカスタマイズされた日付の形式を設定する](/ja/s/article/360047504553 "Workbench 4で列にカスタマイズされた日付の形式を設定する")
* [列の値を置き換える](/ja/s/article/360046864274 "Workbench 4で列の値を置き換える")
* [DataSetを結合する](/ja/s/article/360046861014 "Workbench 4でDataSetを結合する")
* [列にフィルターをかける](/ja/s/article/360046864074 "Workbench 4で列をフィルターする")

[このページのトップへ](#intro)
