Salesforce ODBC Driverは、SalesforceSOQLを使用できるアプリケーションの数を拡張します。このブログでは、SQLServerからSOQLステートメントを実行する方法について説明します。
開始するには:
- SQLServerがインストールされているマシンにSalesforce.comODBCドライバーをインストールしてライセンスを取得します。
Salesforce.com ODBCドライバを使用してアプリケーションをSalesforce.comに接続する前に、ODBCデータソースを設定する必要があります。 ODBCデータソースには、ターゲットデータベース(Salesforce.comなど)とそれに接続するために必要なODBCドライバー(Salesforce.com ODBCドライバーなど)の接続の詳細が格納されます。
64ビットバージョンのSQLServerを使用している場合は、64ビットバージョンのODBCアドミニストレーター(データソースの作成に使用)を実行する必要があります。これを行うには、コントロールパネルで[管理ツール]を開き、[データソースODBC]を開きます。 Windows Server 2003以前では、ODBCAdministratorを起動するコントロールパネルアプレットにはデータソースというラベルが付いています。 Windows 8以降では、コントロールパネルアプレットにはODBCデータソース(64ビット)というラベルが付いています。)
32ビットバージョンのSQLServerを使用している場合は、32ビットバージョンのODBCAdministratorを実行する必要があります。これを行うには、[Windowsの実行]ダイアログボックスで、次のように入力します。
%windir%\syswow64\odbcad32.exe
Salesforce.com ODBCドライバーデータソースを作成するには:
- ODBCアドミニストレータで、[システムDSN]タブを選択し、[追加]を選択します。
32ビットバージョンのODBCAdministratorを実行するには、[Windowsの実行]ダイアログボックスで次のように入力します。
%windir%\syswow64\odbcad32.exe
- [新しいデータソースの作成]ダイアログボックスで、[Easysoft Salesforce SOQL ODBCドライバー]を選択し、[完了]を選択します。
- Easysoft Salesforce SOQL ODBCドライバーDSNセットアップダイアログボックスを完了します:
設定 値 DSN Salesforce.com ユーザー名 Salesforce.comユーザーの名前。例:[email protected]。 パスワード Salesforce.comユーザーのパスワード。 トークン 必要に応じて、Salesforce.comユーザーのセキュリティトークン。 セキュリティトークンを提供する必要があるかどうかを確認するには、[テスト]ボタンを選択します。
LOGIN_MUST_USE_SECURITY_TOKEN
を含むエラーで接続の試行が失敗した場合 、1つ提供する必要があります。Salesforce.comは、Salesforce.comユーザーアカウントに関連付けられている電子メールアドレスにセキュリティトークンを電子メールで送信します。セキュリティトークンを受け取っていない場合は、再生成できます。その後、Salesforce.comから新しいセキュリティトークンがメールで送信されます。セキュリティトークンを再生成するには、Salesforce.comにログインし、ユーザーメニューから[設定]を選択します。 [クイック検索]ボックスで「セキュリティトークン」を検索します。 [セキュリティトークンのリセット]ページで[セキュリティトークンのリセット]をクリックします。メールクライアントでトークンを受け取ったら、それをコピーして、[トークン]フィールドに貼り付けます。
- [テスト]ボタンを使用して、Salesforce.comに正常に接続できることを確認します。
SQLServerからのSalesforceSOQLの使用
SalesforceODBCドライバーを使用してSQLServerからSalesforceデータにアクセスする:
- Microsoft SQL Server Management Studioで、リンクサーバーを作成するSQLServerインスタンスに接続します。
リンクサーバーを作成するには、SQLServersysadmin固定サーバーの役割のメンバーであるアカウントでログオンする必要があります。
- サーバーオブジェクトを右クリックします。ポップアップメニューから[新規]>[リンクサーバー]を選択します。
- [リンクサーバー]ボックスに、「Salesforce」と入力します。
(リンクサーバーを「Salesforce.com」と呼びたい場合は、SQLステートメントでこの名前を二重引用符で囲む必要があります。たとえば、
SELECT * FROM "SALESFORCE.COM" ... Account コード> 。)
- [プロバイダー]リストから、[ODBCドライバー用のMicrosoftOLEDBプロバイダー]を選択します。
- [データソース]ボックスに、Salesforce.com ODBCデータソースの名前を入力し、[OK]を選択します。
SQL Serverは、接続をテストしてリンクサーバーを検証します。
- パススルーSQLクエリを使用して、Salesforce.comデータをクエリできます。例:
SELECT * FROM OPENQUERY(SALESFORCE,'SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contacts) FROM Account')
EXEC ('SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contacts) FROM Account' ) at SALESFORCE
SELECT * FROM OPENROWSET('MSDASQL', 'DSN=MY_SALESFORCE_ODBC_DATA_SOURCE;', 'SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contacts) FROM Account')