> ## Documentation Index
> Fetch the complete documentation index at: https://domoinc-bradley-turek-pfilter-operators-reference.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# WorkbenchのODBCへのライトバック機能

## はじめに

この記事では、Workbenchのライトバック機能を使用してDomoのDataSetをオンプレミスデータベースに書き込む方法を説明します。このプロセスを実行すると、オンプレミスシステムにDomoのデータを安全に移動し、標準のWorkbenchと同じセキュリティ機能とメリットのすべてを利用できます。

***

## ODBCライトバックプラグインをインストールする

<Warning> \*\*重要：\*\*Workbenchをまだインストールしていない場合は、管理者として最新バージョンのWorkbenchをインストールします。Workbenchは、データベースサーバーにアクセスできるWindowsサーバーまたはラップトップにインストールする必要があります。データベースサーバー自体にインストールする必要はありません。詳細については、「[Workbenchインストールガイド](/s/article/4406022964375)」を参照してください。  </Warning>

1. Workbench 5以降をインストールしたら、[https://app.domo.com/workbench/plugins/beta5/OdbcWritebackDataProvider.dwp](https://app.domo.com/workbench/plugins/beta5/OdbcWritebackDataProvider.dwp "https://app.domo.com/workbench/plugins/beta5/OdbcWritebackDataProvider.dwp")を選択してODBCライトバックプラグインをダウンロードします。
2. プラグインをダウンロードしたら、Workbenchに追加します。この方法については、「[Workbench 5でプラグインを管理する](/s/article/360043437353)」を参照してください。
3. Workbenchを再起動します。

## クライアントIDとシークレットを取得する

クライアントIDとシークレットの取得方法については、「[APIクライアントの管理](/s/article/000005240#create-api-clients)」を参照してください。

## DataSet IDを取得する

1. DomoインスタンスでData Centerに移動し、オンプレミスデータベースに書き戻すDataSetの詳細ビューに移動します。
2. ウェブページのアドレスバーでDataSet IDを探してコピーし、あとで使用できるように保存します。これは、\_datasources/*と*/details\_の間の文字列です。

   <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v1wj.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=ecca9e9cb6aef9629a8a446ed3a9318e" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="1282" height="78" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v1wj.jpg" />

## DSNを設定する

ODBCを使用してサーバーに接続するには、システムデータソース名（DSN）が必要です。DSNを設定するには、次のステップに従います。

1. Workbenchがインストールされているサーバーで、\*\*［Start］\*\*を選択して以下のように入力します。

   ```
   odbc
   ```

   ODBCデータソース（64ビット）が必要になる可能性があります。

2. \*\*［System DSN］**に移動して**［Add］\*\*を選択します。

3. \*\*［SQL Server Native Client］\*\*を選択します。このオプションが表示されない場合は、[https://learn.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver16にアクセスしてダウンロードします。](https://learn.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver16にアクセスしてダウンロードします。)

   \*\*［Microsoft SQL Server DSN Configuration］\*\*ウィザードが表示されます。

   <Frame>
     <img alt="select sql server native client.png" src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v25v.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=bc75e7c7f6ab01d3111ae46a837a2d75" width="648" height="338" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v25v.jpg" />
   </Frame>

4. \*\*［Name:］\*\*フィールドにこのDSNの名前を入力します。

5. \*\*［Server:］\*\*フィールドにSQLサーバーの名前を入力します。

   <Frame>
     <img alt="dsn config wizard.png" src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v28k.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=b2833c79b1005a5ce9a6ab40b1010778" width="330" height="236" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v28k.jpg" />
   </Frame>

6. \*\*［Finish］\*\*を選択します。

\*\*［ODBC Data Source Administrator (64-bit)］**の**［System］\*\*タブにDSNが表示されます。

<Frame>
  <img alt="system dsn tab.png" src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v294.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=4abeb004aefe30ecd10f4be9cbbc86a7" width="356" height="176" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v294.jpg" />
</Frame>

## Workbenchでアカウントを追加する

1. 同じサーバーでWorkbenchを開きます。

   \*\*注記：\*\*DSNの設定中にWorkbenchを開いていた場合は、Workbenchを再起動することを推奨します。

2. \*\*［Start］\*\*を選択して、検索バーに

   ```
   workbench
   ```

   または

   ```
   domo
   ```

   と入力します。

3. サイドバーで、 <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/j_jwumSR2GsHRdVx/images/kb/ka05w00000123tU-00N5w00000Ri7BU-0EM5w000005vPQ5.png?fit=max&auto=format&n=j_jwumSR2GsHRdVx&q=85&s=dc3691546fa6b0f8a8204e90961014b8" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="31" height="27" data-path="images/kb/ka05w00000123tU-00N5w00000Ri7BU-0EM5w000005vPQ5.png" /> \*\*［アカウント］\*\*を選択します。

4. 次に <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2Zq.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=a58f7740a905b7837d5094ad1ebd4af2" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="46" height="48" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2Zq.jpg" /> \*\*［追加］\*\*を選択します。

   <Frame>
     <img alt="add account.jpg" src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v5El.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=bc8905876e693e60799181d932f60566" width="732" height="576" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v5El.jpg" />
   </Frame>

5. \*\*［概要］**タブで、**［Domoドメイン］\*\*フィールドにDomoインスタンスの名前を入力します。

6. \*\*［認証する］\*\*を選択します。

7. ブラウザーの認証リンクに従い、コードの入力を求められたら、Workbenchの\*\*［認証コード］\*\*フィールドからコードを貼り付けます。

8. プロンプトが表示されたらブラウザーウィンドウを閉じます。

9. Workbenchで、    <i className="icon-save sm" aria-hidden="true" />    \*\*［保存］\*\*を選択して新しいアカウントを追加します。

## Workbenchでジョブを作成する

1. サイドバーで、    <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v5Eq.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=c60f89f8398a7c2ab832bdf1e0bd77ce" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="96" height="90" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v5Eq.jpg" />    \*\*［ジョブ］\*\*を選択します。

2. 次に

   <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2Zq.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=a58f7740a905b7837d5094ad1ebd4af2" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="46" height="48" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2Zq.jpg" />    \*\*［追加］\*\*を選択します。

   <Frame>
     <img alt="add job.jpg" src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v5F5.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=ede07e6e5d7e7fa40ee083e75ba234cc" width="2536" height="602" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v5F5.jpg" />
   </Frame>

3. \*\*［ジョブの詳細］\*\*セクションで、Domoドメインを選択し、ジョブ名を入力して、トランスポートタイプを選択し、リーダータイプを選択します。

4. \*\*［Domoの詳細］**セクションで、**［DataSet名］\*\*フィールドに名前を入力します。 <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2ae.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=30272201e90c876a83c787d871d71a9f" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="526" height="434" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2ae.jpg" />

   \*\*注記：\*\*入力したDataSet名は、書き戻されるDataSetではありません。これはDomoが作成するログ表の名前を指します。

   <Frame>
     <img alt="wb log.jpg" src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2at.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=2267cfe9d1c328a7602fa100dbf27c15" width="2018" height="534" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2at.jpg" />
   </Frame>

5. \*\*［ソース］**で、**［編集］\*\*を選択します。

6. このプロセスの前のステップでコピーしたクライアントIDとシークレットを、\*\*［Domo Client Id］**および**［Domo Client Secret］\*\*フィールドにそれぞれ入力します。

7. 前のステップでコピーした[DataSet ID](#dataset-id)を\*\*［Domo DataSet Id］**フィールドに入力します。**［検索］\*\*を使用することは推奨しません。

   <Frame>
     <img alt="generate query.png" src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2br.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=792b2e80b77cddfbfb84aabb50f7e267" width="336" height="354" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2br.jpg" />
   </Frame>

8. \*\*［DataSetクエリを生成する］\*\*を選択します。クエリが生成されます。そのクエリを編集して、書き戻す列のみを含めることができます。 <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2bw.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=84e75f4dd0373759ca3d3973715fa91a" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="936" height="152" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2bw.jpg" /> <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2c1.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=4ba8170750b7c820649276329133bba7" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="502" height="100" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2c1.jpg" />

   \*\*注記：\*\*WorkbenchにログインしているユーザーがこのDataSetにアクセスできることを確認してください。管理者のセキュリティ権限を持っているユーザーには、DataSetを個別にシェアする必要はありません。DataSetのシェアについては、「[DataSetをシェアする](/s/article/360043430713)」を参照してください。

9. \*\*［ODBC Connection Type］\*\*を選択します。

   <Frame>
     <img alt="odbc connection type.png" src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2cB.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=d0c73d2a3f735b7d3ce84eff5455e702" width="404" height="316" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2cB.jpg" />
   </Frame>

10. \*\*［データベースタイプ］\*\*を選択します。

11. \*\*［ライトバッククエリを生成する］\*\*を選択します。

    <Frame>
      <img alt="generate writeback query.png" src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2cG.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=e7db2a652daffcf211a1f1cff5146090" width="936" height="340" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2cG.jpg" />
    </Frame>

    **Note:** By default, Domo generates a query for all columns. If you adjusted the query above, make sure to update the Writeback Query String.

    <Frame>
      <img alt="adjusted writeback.png" src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2cV.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=d9d62c45ec9ee04f8f040224bbf4e815" width="936" height="170" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2cV.jpg" />
    </Frame>

    **Note:** Domo does not create a table on the database. You need to create it first. Here is an example of a table created in SQL server:

    ```sql theme={"dark"}
    create table database1.dbo.domo_widgets
    (id numeric(18,0)
    , widget_id numeric (18,0)
    , qty numeric(18,2)
    , amount numeric (18,2)
    )
    ```

    This is the updated query after creating the table:

    <Frame>
      <img alt="updated wb query.png" src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/qzqNmZ6TDGRYMDm3/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2cu.jpg?fit=max&auto=format&n=qzqNmZ6TDGRYMDm3&q=85&s=2ce9bbec5eac17fc2cea2aff7a17d0d6" width="936" height="134" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2cu.jpg" />
    </Frame>

12. \*\*［処理］（［編集］）セクション — \*\*このセクションでは何もする必要はありません。Workbenchがデータ接続を開始します。Workbenchは、Domo DataSetに接続してこれをまずCSVとして取得し直し、このCSVファイルを使用してSQLサーバーに読み込みます。

13. \*\*［更新方法］ — \*\*これは、ターゲットデータベースの更新方法ではありません。Domoインスタンス内で作成されたログ表を追加するか、置き換えるかをDomoに指示します。

14. [偽装](/s/article/360043437173#impersonation)を設定します。これにより、Workbenchをアクティブディレクトリユーザーとして実行できます。

15. ジョブを実行します。

## 注記

* \*\*［ライトバッククエリ］\*\*セクションで一度に実行できるステートメントは1つのみです。
* デフォルト値は25です。Domoは、25件のレコードだけでなく、DataSetのすべてのレコードを書き戻します。これはそのままにしておきます。
* Workbenchのライトバック機能には、使用されるエンドポイントにより100万行の制限があります。
* Workbenchのライトバック機能は、一度に1つのクエリのみを実行するように設計されています。複数のデータ操作言語（CML）コマンド（INSERT、DELETE、UPDATE、MERGE）を追加することはできません。複数のコマンドを追加しても、Domoは一度に1つのみ処理します。これにより、ALTERステートメントが許可されます。製品ごとに2つのステートメントを含めても、Domoは2つ目のステートメントの整合性を保証しません。
* Workbenchは、\*\*［概要］\*\*タブに記載されているDataSet名と同じ名前のログ表を作成します。
* 通常のライトバック機能では、入力DataSetが更新されたときにライトバックをトリガーするオプションがあります。ただし、Workbenchのライトバック機能では、スケジュール設定のみが可能です。これはセキュリティ機能であり、接続はWorkbenchから開始されます。
