メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://domoinc-jkreitzman-patch-1.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

はじめに

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

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

**重要:**Workbenchをまだインストールしていない場合は、管理者として最新バージョンのWorkbenchをインストールします。Workbenchは、データベースサーバーにアクセスできるWindowsサーバーまたはラップトップにインストールする必要があります。データベースサーバー自体にインストールする必要はありません。詳細については、「Workbenchインストールガイド」を参照してください。
  1. Workbench 5以降をインストールしたら、https://app.domo.com/workbench/plugins/beta5/OdbcWritebackDataProvider.dwpを選択してODBCライトバックプラグインをダウンロードします。
  2. プラグインをダウンロードしたら、Workbenchに追加します。この方法については、「Workbench 5でプラグインを管理する」を参照してください。
  3. Workbenchを再起動します。

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

クライアントIDとシークレットの取得方法については、「APIクライアントの管理」を参照してください。

DataSet IDを取得する

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

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にアクセスしてダウンロードします。 **[Microsoft SQL Server DSN Configuration]**ウィザードが表示されます。
    select sql server native client.png
  4. **[Name:]**フィールドにこのDSNの名前を入力します。
  5. **[Server:]**フィールドにSQLサーバーの名前を入力します。
    dsn config wizard.png
  6. **[Finish]**を選択します。
**[ODBC Data Source Administrator (64-bit)][System]**タブにDSNが表示されます。
system dsn tab.png

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

  1. 同じサーバーでWorkbenchを開きます。 **注記:**DSNの設定中にWorkbenchを開いていた場合は、Workbenchを再起動することを推奨します。
  2. **[Start]**を選択して、検索バーに
    workbench
    
    または
    domo
    
    と入力します。
  3. サイドバーで、 **[アカウント]**を選択します。
  4. 次に **[追加]**を選択します。
    add account.jpg
  5. **[概要]タブで、[Domoドメイン]**フィールドにDomoインスタンスの名前を入力します。
  6. **[認証する]**を選択します。
  7. ブラウザーの認証リンクに従い、コードの入力を求められたら、Workbenchの**[認証コード]**フィールドからコードを貼り付けます。
  8. プロンプトが表示されたらブラウザーウィンドウを閉じます。
  9. Workbenchで、 **[保存]**を選択して新しいアカウントを追加します。

Workbenchでジョブを作成する

  1. サイドバーで、 **[ジョブ]**を選択します。
  2. 次に **[追加]**を選択します。
    add job.jpg
  3. **[ジョブの詳細]**セクションで、Domoドメインを選択し、ジョブ名を入力して、トランスポートタイプを選択し、リーダータイプを選択します。
  4. **[Domoの詳細]セクションで、[DataSet名]**フィールドに名前を入力します。 **注記:**入力したDataSet名は、書き戻されるDataSetではありません。これはDomoが作成するログ表の名前を指します。
    wb log.jpg
  5. **[ソース]で、[編集]**を選択します。
  6. このプロセスの前のステップでコピーしたクライアントIDとシークレットを、**[Domo Client Id]および[Domo Client Secret]**フィールドにそれぞれ入力します。
  7. 前のステップでコピーしたDataSet IDを**[Domo DataSet Id]フィールドに入力します。[検索]**を使用することは推奨しません。
    generate query.png
  8. **[DataSetクエリを生成する]**を選択します。クエリが生成されます。そのクエリを編集して、書き戻す列のみを含めることができます。 **注記:**WorkbenchにログインしているユーザーがこのDataSetにアクセスできることを確認してください。管理者のセキュリティ権限を持っているユーザーには、DataSetを個別にシェアする必要はありません。DataSetのシェアについては、「DataSetをシェアする」を参照してください。
  9. **[ODBC Connection Type]**を選択します。
    odbc connection type.png
  10. **[データベースタイプ]**を選択します。
  11. **[ライトバッククエリを生成する]**を選択します。
    generate writeback query.png
    Note: By default, Domo generates a query for all columns. If you adjusted the query above, make sure to update the Writeback Query String.
    adjusted writeback.png
    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:
    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:
    updated wb query.png
  12. **[処理]([編集])セクション — **このセクションでは何もする必要はありません。Workbenchがデータ接続を開始します。Workbenchは、Domo DataSetに接続してこれをまずCSVとして取得し直し、このCSVファイルを使用してSQLサーバーに読み込みます。
  13. **[更新方法] — **これは、ターゲットデータベースの更新方法ではありません。Domoインスタンス内で作成されたログ表を追加するか、置き換えるかをDomoに指示します。
  14. 偽装を設定します。これにより、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から開始されます。