PowerShell を使ってSalesforce Data Cloud のデータをSQL Server にレプリケーション

Salesforce Data Cloud をPowerShell スクリプトを記述。リアルタイムデータへの接続を使用してSalesforce Data Cloud のデータをSQL Server にレプリケーション(複製)。

古川えりか
コンテンツスペシャリスト

最終更新日:2023-09-26

こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。

CData ODBC Driver for SalesforceDataCloud は、Microsoft のビルトインODBC サポートを使用して、追加設定なしで連携を可能にします。ODBC ドライバーは、PowerShell から実際のSalesforce Data Cloud のデータへの連携を即座に実現します。

PowerShell に組み込まれている.NET Framework Provider for ODBC を使用して、Salesforce Data Cloud を他のデータベースに複製するなどの統合タスクを素早く自動化できます。この記事では、Salesforce Data Cloud をSQL Server に5 行のコードで複製する方法を説明します。

PowerShell コードを記述し、Salesforce Data Cloud のダウンロード以下の例を参照してください。

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。

  1. Salesforce Data Cloud をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
  2. 多様なアプリケーション、ツールにSalesforce Data Cloud のデータを連携
  3. ノーコードでの手軽な接続設定
  4. 標準 SQL での柔軟なデータ読み込み・書き込み

CData ODBC ドライバでは、1.データソースとしてSalesforce Data Cloud の接続を設定、2.PowerShell 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとSalesforce Data Cloud への接続設定

まずは、本記事右側のサイドバーからSalesforceDataCloud ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

未指定の場合は、初めにODBC DSN(data source name)で接続プロパティを指定します。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および構成できます。

Salesforce Data Cloud は、OAuth 標準による認証をサポートしています。

OAuth

AuthSchemeOAuth に設定します。

デスクトップアプリケーション

CData は、デスクトップでの認証を簡略化する埋め込みOAuth アプリケーションを提供します。

また、Salesforce Data Cloud コンソールで設定および登録するカスタムOAuth アプリケーションを介してデスクトップから認証することもできます。詳しくは、ヘルプドキュメントカスタムOAuth アプリの作成を参照してください。

接続する前に、次のプロパティを設定します。

  • InitiateOAuthGETANDREFRESHInitiateOAuth を使えば、繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要はなくなります。
  • OAuthClientId (カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントID。
  • OAuthClientSecret (カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。

接続すると、本製品 はデフォルトブラウザでSalesforce Data Cloud のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。

以下のようにドライバーがOAuth プロセスを完了します。

  • コールバックURL からアクセストークンを取得します。
  • 古いトークンの期限が切れたときは、新しいアクセストークンを取得します。
  • OAuthSettingsLocation にOAuth 値を保存し、接続間で永続化します。
  • Web アプリケーションやヘッドレスマシンを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。

    Salesforce Data Cloud への接続

    以下のコードは、DSN を使用してPowerShell でデータソースへの接続を初期化する方法を説明します。

    $conn = New-Object System.Data.Odbc.OdbcConnection $conn.ConnectionString = "DSN=CData SalesforceDataCloud Source x64"

    Salesforce Data Cloud のデータをSQL Serverにバックアップ

    キャッシュを有効にした後、以下のコードを使用して、データをSQL Server に複製できます。

    次の接続プロパティを設定し、キャッシュデータベースを構成します。

    • CacheProvider:ADO.NET プロバイダの名前です。これは、ご使用のバージョンの.NET のMachine.config にあります。例として、SQL Server を構成するにはSystem.Data.SqlClient と入力します。

    • CacheConnection:データベースの接続に必要なプロパティの接続文字列です。以下はSQL Server の一例です。

      Server=localhost;Database=RSB;User Id=sqltest;Password=sqltest;

    この例のSQL クエリを使用して、スキーマを含むキャッシュされたテーブル全体を更新できます。既存のキャッシュはすべて削除されます。

    $conn.Open() # Create and execute the SQL Query $SQL = "CACHE DROP EXISTING SELECT * FROM " + $Account $cmd = New-Object System.Data.Odbc.OdbcCommand($sql,$conn) $count = $cmd.ExecuteNonQuery() $conn.Close()

    ドライバーを使用すると、キャッシュ機能を完全に制御できます。その他のキャッシュコマンドと使用例については、ヘルプドキュメントを参照してください。他のデータベースに複製する手順についても、ヘルプドキュメントを参照してください。

    その他の操作

    PowerShell でSalesforce Data Cloud を取得するには、OdbcDataAdapter メソッドのFill メソッドを呼び出します。データ操作コマンドを実行するには、OdbcCommand オブジェクトを初期化してからExecuteNonQuery を呼び出します。以下は、.NET Framework Provider for ODBC を介した、Salesforce Data Cloud への コマンドの例です。

    Salesforce Data Cloud のデータの取得

    $sql="SELECT [Account ID], [Account Name] from Account" $da= New-Object System.Data.Odbc.OdbcDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { $dt.Columns | foreach ($col in dt{ Write-Host $1[$_] } }

    Salesforce Data Cloud からPowerShell へのデータ連携には、ぜひCData ODBC ドライバをご利用ください

    このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。

    CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。