> ## 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の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-openapi-sync-dataflows/2K-MJunolF8arvf9/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v1wj.jpg?fit=max&auto=format&n=2K-MJunolF8arvf9&q=85&s=2b5c0e896fdaa305e6a7b4ef3a3aae5c" 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-openapi-sync-dataflows/2K-MJunolF8arvf9/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v25v.jpg?fit=max&auto=format&n=2K-MJunolF8arvf9&q=85&s=5f289e2590d310e7994b419fee767c86" 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-openapi-sync-dataflows/2K-MJunolF8arvf9/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v28k.jpg?fit=max&auto=format&n=2K-MJunolF8arvf9&q=85&s=6b9ce376b40e76dd041fb1bfa9b72a5d" 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-openapi-sync-dataflows/2K-MJunolF8arvf9/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v294.jpg?fit=max&auto=format&n=2K-MJunolF8arvf9&q=85&s=25a70e813521e4c910175d16feac6777" 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-openapi-sync-dataflows/wsUUuFj2iQGL8oiS/images/kb/ka05w00000123tU-00N5w00000Ri7BU-0EM5w000005vPQ5.png?fit=max&auto=format&n=wsUUuFj2iQGL8oiS&q=85&s=45d1507fafe5189ad5340019b7803e06" 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-openapi-sync-dataflows/2K-MJunolF8arvf9/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2Zq.jpg?fit=max&auto=format&n=2K-MJunolF8arvf9&q=85&s=900358a0360eb7347c444503a957cd51" 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-openapi-sync-dataflows/DkLG580DK4bdXUC1/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v5El.jpg?fit=max&auto=format&n=DkLG580DK4bdXUC1&q=85&s=ae2d3727a198ff685e4d1a74a4f3a212" 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-openapi-sync-dataflows/DkLG580DK4bdXUC1/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v5Eq.jpg?fit=max&auto=format&n=DkLG580DK4bdXUC1&q=85&s=3c066082d619b19213575b52af5832b3" 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-openapi-sync-dataflows/2K-MJunolF8arvf9/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2Zq.jpg?fit=max&auto=format&n=2K-MJunolF8arvf9&q=85&s=900358a0360eb7347c444503a957cd51" 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-openapi-sync-dataflows/DkLG580DK4bdXUC1/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v5F5.jpg?fit=max&auto=format&n=DkLG580DK4bdXUC1&q=85&s=79c6e19f62dbb476d188ba20de542dca" width="2536" height="602" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v5F5.jpg" />
   </Frame>

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

4. \*\*［Domoの詳細］**セクションで、**［DataSet名］\*\*フィールドに名前を入力します。 <img src="https://mintcdn.com/domoinc-openapi-sync-dataflows/2K-MJunolF8arvf9/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2ae.jpg?fit=max&auto=format&n=2K-MJunolF8arvf9&q=85&s=9d4b3ab8e5b02fa07343fda7b6b772e4" 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-openapi-sync-dataflows/2K-MJunolF8arvf9/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2at.jpg?fit=max&auto=format&n=2K-MJunolF8arvf9&q=85&s=6d1e0c8d641096dcb66e2dd46e19eac0" 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-openapi-sync-dataflows/2K-MJunolF8arvf9/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2br.jpg?fit=max&auto=format&n=2K-MJunolF8arvf9&q=85&s=c405b5ea2e7cabba7a07b24d7bc6cb3f" width="336" height="354" data-path="images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2br.jpg" />
   </Frame>

8. \*\*［DataSetクエリを生成する］\*\*を選択します。クエリが生成されます。そのクエリを編集して、書き戻す列のみを含めることができます。 <img src="https://mintcdn.com/domoinc-openapi-sync-dataflows/2K-MJunolF8arvf9/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2bw.jpg?fit=max&auto=format&n=2K-MJunolF8arvf9&q=85&s=237052559a9e68bbb530e6dfdb732b9a" 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-openapi-sync-dataflows/2K-MJunolF8arvf9/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2c1.jpg?fit=max&auto=format&n=2K-MJunolF8arvf9&q=85&s=98ecb2e0785666a279946b8914406289" 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-openapi-sync-dataflows/2K-MJunolF8arvf9/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2cB.jpg?fit=max&auto=format&n=2K-MJunolF8arvf9&q=85&s=fb85f603bed0d6bf871abeaa4e59ac3b" 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-openapi-sync-dataflows/2K-MJunolF8arvf9/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2cG.jpg?fit=max&auto=format&n=2K-MJunolF8arvf9&q=85&s=c44bc3823bb87d1afffb8a6d48d394ea" 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-openapi-sync-dataflows/2K-MJunolF8arvf9/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2cV.jpg?fit=max&auto=format&n=2K-MJunolF8arvf9&q=85&s=54b5a99e987cd6e8c1105a5d8c62ed86" 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-openapi-sync-dataflows/2K-MJunolF8arvf9/images/kb/ka0Vq0000001Cbp-00N5w00000Ri7BU-0EM5w000006v2cu.jpg?fit=max&auto=format&n=2K-MJunolF8arvf9&q=85&s=eefe7696364569e6c77cb0d2eae5af3b" 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から開始されます。
