はじめに
CData技術ディレクター桑島です。CData Software はSalesforceのデータ連携ツールであるforceAmpを買収したことを発表しました。詳細は下記のページをご覧ください。
本記事では、forceAmpの主力プロダクトであるDBAmpについて、製品のインストール、および、もっとも基本的なリンクサーバーからのSalesforceデータへのアクセス方法についてご紹介します。
DBAmpとは
DBAmpは、Salesforce からMicrosoft SQL Server への直観的な連携ツールとしてデザインされており、Microsoft SQL Server のパワフルな機能とSalesforce API を使ってシームレスな連携を実現します。具体的には、SQLServerのリンクサーバーの機能からSalesforceのデータにアクセスします。Salesforceのデータを効率良く運用するためのデータの取得や更新、バルクでのインポートやエクスポートといったシナリオスペシフィックな多くの機能をSQLServerのストアドプロシージャとして利用することが可能です。より詳細な情報はこちらのDBAmp Documentationよりご覧いただけます。
DBAmpの入手方法
DBAmpは、21日間無償で利用可能な評価版があります。評価版は、以下Webサイト内の「Trial Now >>」ボタンから申し込むことが可能です。
本サイトから申し込むと登録時のEmailアドレスに製品のダウンロードURL、および、ライセンスキーのお知らせが届きます。
DBAmpの利用手順
前提条件の確認
DBAmp Version4.1.8(2021/01/14時点の最新版)の前提条件は以下の通りです。SQLServer、および、ManagementToolがインストールされているマシンであることが必要です。
- SQL Server 2008 以上(※Expressも利用可能ですが、Agentが付属しないためスケジュール実行は別なツールを利用する必要があります)
- OS:64 bitの Windows 2008 R2 以上
- .NET Framework 4.6 以上
製品のインストール
製品をダウンロードしてZipファイルを解凍すると以下の3つのファイルが含まれています。
- DBAmp Install Guide.pdf
- DBAmp ReadMe.txt
- DBAmpInstall.exe
DBAmpInstall.exeが製品のインストーラになります。SQLServerがインストールされているマシンで実行します。
インストーラを進めると途中でライセンスキーが求められますので、製品入手時のメールに記載されているライセンスキーをセットして進みます。
リンクサーバーの作成
SQLServer ManagementStudioでローカルのSQLServerに接続します。ObjectExplorerにて「ServerObjects > Linked Servers > Providers」ディレクトリ内のDBAmp.DBAmpを右クリックしてPropertiesを開きます。
以下の3つのオプションをONにしてOKボタンで保存します。
- Dynamic Parameters
- Allow InProcess
- Non transacted Updates
ObjectExplorerにて「ServerObjects > Linked Servers」ディレクトリを選択して右クリックから「New Linked Server....」をクリックします。
New Linked Server画面のGeneralページにて以下の項目をセットします。
- Linked server : SALESFORCE (任意)
- Server type : Other data source
- Provider : DBAmp OLE DB Provider
- Provider name : DBAmp
- Data sourve : SALESFORCE
次にSecurityのページを開き、SQLServerのログイン方法として「Be made using this security context」を選択します。
- Remote login : Salesforceのログインユーザ
- With passoword : Salesforceのパスワードの後ろにセキュリティトークンを追加した文字列
※Salesforceのセキュリティトークンの取得方法はこちらの記事をご参照ください。
続いてServer Optionsページを開き、以下の項目をTrueにします。
- Collation Compatible
- Data Access
- Use Remote Collation (※デフォルトでTrue)
- RPC Out
- Enable Promotion of Distributed Transactions (※デフォルトでTrue)
上記を設定したらOKボタンでLinked Serverを作成します。
リンクサーバーの動作確認
ObjectExplorerにて上記手順で作成したリンクサーバー(ServerObjects > Linked Servers > SALESFORCE)を選択します。「Catalogs > default > Tables」と開いていくと、Salesforceの各種オブジェクトがSQLServerのテーブルとして表示されます。今回は、Salesforceの取引先を示すAccountテーブル内のデータにアクセスしてみます。テーブルを選択して右クリックから「Script Table as > SELECT To New Query Editor Window」をクリックします。
QueryEditiorにSELECT文が作成されるのでExecuteボタンからクエリを実行します。ResultsにSalesforceのAccount(取引先)のデータが表示されれば成功です。
テーブルリストを見ていくと末尾にカスタムテーブルも含まれていることを確認できます。カスタムテーブルは末尾に「__c」がつきます。同様にSELECT文でカスタムオブジェクトのデータにもアクセスすることが出来ます。
まとめ
本記事では、DBAmpの入手方法、および、インストール、そして、リンクサーバーの作成手順についてご紹介しました。DBAmpでは作成したリンクサーバー経由で SalesforceのデータとSQLServerのデータの双方向の連携が可能です。以下の記事をあわせてご参照ください。
DBAmpは21日間の無償評価版がございますので、ご興味のある方は、こちらのWebサイト、もしくは、CDataJapanのテクニカルサポート窓口よりお問い合わせください。