各製品の資料を入手。
詳細はこちら →【完全ガイド】Salesforce Data Cloud のデータをSQL Server のリンクサーバーで連携する方法
SQL Server からCData ODBC Driver のSQL Gateway 機能を使ってSalesforce Data Cloud にリンクサーバーとして接続する方法を解説。設定手順からVisual Studio での活用例まで詳細に紹介します。
最終更新日:2025-03-14
この記事で実現できるSalesforce Data Cloud 連携のシナリオ
こんにちは!ドライバー周りのヘルプドキュメントを担当している兵藤です。
本記事では、SQL ServerのTDS Remoting 機能を使ってSalesforce Data Cloud にリンクサーバーとしてシームレスに連携する方法を解説します。この連携には、CData ODBC Driverに同梱されているSQL Gateway を使用します。この方法により、SQL Server のインターフェースからSalesforce Data Cloud への読み書き双方向のアクセスが可能になり、既存のSQL Server 環境で外部データを活用できるようになります。スクリーンショット付きで紹介していくので、初心者の方でも簡単に設定できます!
Salesforce Data Cloud をSQL Server のリンクサーバーとして利用する3つの主要シナリオ
- SQL Server に接続しているアプリケーションでSalesforce Data Cloud のデータを利用したいがデータ接続を増やしたくない
- Salesforce Data Cloud のデータをSQL Server のデータや他のリンクサーバーのデータをJOIN などして使いたい
- 利用したいミドルウェア・BI ツールなどにODBC やJDBC の汎用のインターフェースがないが、SQL Server には接続できる
【準備編】Salesforce Data Cloud ODBC DSNの設定方法
まずは、本記事右側のサイドバーからSalesforceDataCloud ODBC Driver の無償トライアルをダウンロード・インストールしてください。ODBC ドライバーのインストール完了時にODBC DSN 設定画面が立ち上がります。または、Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定できます。
Salesforce Data Cloud は、OAuth 標準による認証をサポートしています。
OAuth
AuthScheme をOAuth に設定します。
デスクトップアプリケーション
CData は、デスクトップでの認証を簡略化する埋め込みOAuth アプリケーションを提供します。
また、Salesforce Data Cloud コンソールで設定および登録するカスタムOAuth アプリケーションを介してデスクトップから認証することもできます。詳しくは、ヘルプドキュメントのカスタムOAuth アプリの作成を参照してください。
接続する前に、次のプロパティを設定します。
- InitiateOAuth:GETANDREFRESH。InitiateOAuth を使えば、繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要はなくなります。
- OAuthClientId (カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントID。
- OAuthClientSecret (カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
接続すると、本製品 はデフォルトブラウザでSalesforce Data Cloud のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。
以下のようにドライバーがOAuth プロセスを完了します。
- コールバックURL からアクセストークンを取得します。
- 古いトークンの期限が切れたときは、新しいアクセストークンを取得します。
- OAuthSettingsLocation にOAuth 値を保存し、接続間で永続化します。
- 「スタート」画面から「SQL Gateway」を起動します。青い「C」のSQL Gateway ロゴが右下のインジケータに表示されます。 アプリケーションコンソールが開かない場合には、SQL Gateway アイコンを右クリックして、「Open Application」をクリックしてください。
- アプリケーションコンソールの「Service」タブを開いて、「Add」をクリックして、新しいODBC データソースを設定します。
-
Salesforce Data Cloud ODBC の設定を行います。
Service Name]:任意
リモーティングDB 選択:SQL Server を選択
Data Source:ドロップダウンでCData Salesforce Data Cloud Source Sys を選択
Port:使用していないポートを選択
-
次に「Users」タブ→「Add」からユーザーを登録します。
ユーザー毎にFull アクセスか、Readonly か、None の権限を選択できます。
複数のODBC データソースがある場合には、データソース毎に権限の設定が可能です。
「OK」を押して、ユーザー登録を完了します。 その後「Save Changes」で設定を保存します。 - SQL Gateway の「Service」タブで「Start」ボタンを押して、サービスを起動します。サービスの左側の〇が緑色になれば、サービスは起動中です。
-
SQL Server Management Studio (SSMS) を開きます。
オブジェクトエクスプローラーの「サーバーオブジェクト」で「リンクサーバー」を右クリックして、「新しいリンクサーバー」をクリックします。 -
新しいリンクサーバーの設定画面の「全般」で、以下を入力します。
サーバー種類:その他データソース
プロバイダー:SQL Server Native _Client 11.0
データソース:この例の場合、localhost, 1433 を入力
カタログ:ODBC DSN 名を入力
- また、「セキュリティ」では、「このセキュリティコンテキスト」を選択して、リモートログインにSQL Gateway にユーザー設定したUser 名とPassword を入力します。
Web アプリケーションやヘッドレスマシンを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。
【設定手順1】SQL Gateway でSalesforce Data Cloud ODBC DSN をセットアップする方法
CData ODBC ドライバにはSQL Gateway が同梱されています。このSQL Gateway に、Salesforce Data Cloud ODBC Driver をサービスとして設定します。
【設定手順2】SQL Server でSalesforce Data Cloud リンクサーバーを構築する方法
SQL Gateway 側でサービスの設定が終わったら、SQL Server 側でSalesforce Data Cloud サービスをリンクサーバーとして使う設定をしましょう。
これで、リンクサーバーの設定は終わりなので、「OK」を押して設定を保存します。
【活用例1】SSMS(SQL Server Management Studio)でSalesforce Data Cloud データを操作する方法
SSMS のオブジェクトエクスプローラーのリンクサーバー下にSalesforce Data Cloud のリンクサーバーが作成され、「テーブル」下にSalesforce Data Cloud のデータがアプリ単位でテーブルが生成されます。
新しいクエリを選択し、Salesforce Data Cloud のデータを取得してみます。
実践的なSQL クエリの例と解説
SELECT * from リンクサーバー名.CData Salesforce Data Cloud Source Sys(ODBC DSN 名).Salesforce Data Cloud.テーブル名
このように、API のリクエストではなく通常のSQL 構文でデータを扱うことが可能になっています
【活用例2】Visual Studio からSalesforce Data Cloud のリンクサーバーに連携する方法
Visual Studio のサーバーエクスプローラーの「データ接続」を右クリックし、「接続の追加」をクリックして、データソースの選択画面を開きます。 データソースの選択画面でデータソースを「Microsoft SQL Server 」に選択して、「続行」を押します。
Visual Studio での接続設定とクエリ実行手順
「接続の追加」画面で、以下を入力します。
サーバー名:SQL Server のサーバー名
認証:任意の認証方式
データベース名の選択または入力:※master など
※リンクサーバーを直接データベース名として入力することはできないようです。なので上位のデータベース名で設定しておきます。

「テスト接続」をして大丈夫であれば、「OK」を押して設定を完了させます。
「新しいクエリ」で、SQL でSELECT 文を書いてデータを取得してみます。
SELECT * from リンクサーバー名.CData Salesforce Data Cloud Source Sys(ODBC DSN 名).Salesforce Data Cloud.テーブル名
このように、通常のSQL Server のリンクサーバーと同じようにVisual Studio 内Salesforce Data Cloud のデータを扱うことが可能になります。
他のIDE でもSQL Server にアクセスする方法でSalesforce Data Cloud のデータにSQL でアクセスが可能になります。
複数データソースのJOIN などを行う場合には大変便利です。
【応用編】Salesforce Data Cloud データとSQL Server データを組み合わせた高度な活用例
リンクサーバーの真価は、異なるデータソースを組み合わせた分析や処理にあります。以下に実践的な活用例をご紹介します。
複数データソースの結合(JOIN)によるデータ統合
SELECT
s.customer_id,
s.customer_name,
o.order_id,
o.order_date,
o.total_amount
FROM
Sales.Customers s
JOIN
リンクサーバー名.CData Salesforce Data Cloud Source Sys.Salesforce Data Cloud.Orders o
ON
s.customer_id = o.customer_id
WHERE
o.order_date > '2023-01-01'
ORDER BY
o.total_amount DESC
このクエリ例では、SQL Server内の顧客データとSalesforce Data Cloud 内の注文データを顧客IDで結合し、2023年以降の注文を金額順に表示しています。
おわりに
このようにCData ODBC ドライバと併用することで、Salesforce Data Cloud を含む270を超えるSaaS、NoSQL データをSQL Server に連携できます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービ スやNoSQL と合わせて活用してみてください。