Salesforce ODBC Driverは、SalesforceSOQLを使用できるアプリケーションの数を拡張します。このブログでは、ODBCドライバーを使用してWindowsPowerShellセッションからSOQLステートメントを実行する方法について説明します。
開始するには:
- WindowsマシンにSalesforce.comODBCドライバーをインストールしてライセンスを取得します。
Salesforce.com ODBCドライバを使用してアプリケーションをSalesforce.comに接続する前に、ODBCデータソースを設定する必要があります。 ODBCデータソースには、ターゲットデータベース(Salesforce.comなど)とそれに接続するために必要なODBCドライバー(Salesforce.com ODBCドライバーなど)の接続の詳細が格納されます。
- ODBCAdministratorを起動します。これを行うには、[Windowsの実行]ダイアログボックスで、次のように入力します。
odbcad32.exe
- ODBCアドミニストレータで、[システムDSN]タブを選択し、[追加]を選択します。
- [新しいデータソースの作成]ダイアログボックスで、[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に正常に接続できることを確認します。
PowerShellウィンドウで、次のコードを入力してODBCデータを取得します。
PS C:\> $connectionstring = 'DSN=MyODBCDataSource' PS C:\> $sql = 'SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contacts) FROM Account' PS C:\> $connection = New-Object System.Data.Odbc.OdbcConnection($connectionstring) PS C:\> $connection.open() PS C:\> $command = New-Object system.Data.Odbc.OdbcCommand($sql,$connection) PS C:\> $adapter = New-Object system.Data.Odbc.OdbcDataAdapter($command) PS C:\> $table = New-Object system.Data.datatable PS C:\> $adapter.fill($table) 1 PS C:\> $connection.close() PS C:\> $table Name LastName ---- -------- GenePoint Ltd Frank United Oil & Gas, UK James United Oil & Gas, Singapore D'Cruz United Oil & Gas, Singapore Ripley Edge Communications Forbes Edge Communications Gonzalez Burlington Textiles Corp of America Rogers . . .