CData Software Blog

クラウド連携のCData Software の技術ブログです。

DBAmp のご紹介 - 製品のインストール、および、Salesforceデータへのアクセス

はじめに

CData技術ディレクター桑島です。CData Software はSalesforceのデータ連携ツールであるforceAmpを買収したことを発表しました。詳細は下記のページをご覧ください。

www.cdata.com

本記事では、forceAmpの主力プロダクトであるDBAmpについて、製品のインストール、および、もっとも基本的なリンクサーバーからのSalesforceデータへのアクセス方法についてご紹介します。

f:id:kuwazzy:20210114141524p:plain

DBAmpとは

DBAmpは、Salesforce からMicrosoft SQL Server への直観的な連携ツールとしてデザインされており、Microsoft SQL Server のパワフルな機能とSalesforce API を使ってシームレスな連携を実現します。具体的には、SQLServerのリンクサーバーの機能からSalesforceのデータにアクセスします。Salesforceのデータを効率良く運用するためのデータの取得や更新、バルクでのインポートやエクスポートといったシナリオスペシフィックな多くの機能をSQLServerのストアドプロシージャとして利用することが可能です。より詳細な情報はこちらのDBAmp Documentationよりご覧いただけます。

DBAmpの入手方法

DBAmpは、21日間無償で利用可能な評価版があります。評価版は、以下Webサイト内の「Trial Now >>」ボタンから申し込むことが可能です。

www.forceamp.com

本サイトから申し込むと登録時の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つのファイルが含まれています。

f:id:kuwazzy:20210114143028p:plain

  • DBAmp Install Guide.pdf
  • DBAmp ReadMe.txt
  • DBAmpInstall.exe

DBAmpInstall.exeが製品のインストーラになります。SQLServerがインストールされているマシンで実行します。

f:id:kuwazzy:20210114144012p:plain

インストーラを進めると途中でライセンスキーが求められますので、製品入手時のメールに記載されているライセンスキーをセットして進みます。

f:id:kuwazzy:20210114144151p:plain

リンクサーバーの作成

SQLServer ManagementStudioでローカルのSQLServerに接続します。ObjectExplorerにて「ServerObjects > Linked Servers > Providers」ディレクトリ内のDBAmp.DBAmpを右クリックしてPropertiesを開きます。

f:id:kuwazzy:20210114145439p:plain

以下の3つのオプションをONにしてOKボタンで保存します。

  • Dynamic Parameters
  • Allow InProcess
  • Non transacted Updates

ObjectExplorerにて「ServerObjects > Linked Servers」ディレクトリを選択して右クリックから「New Linked Server....」をクリックします。

f:id:kuwazzy:20210114145528p:plain

New Linked Server画面のGeneralページにて以下の項目をセットします。

f:id:kuwazzy:20210114145744p:plain

  • 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」を選択します。

f:id:kuwazzy:20210114150100p:plain

  • 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」をクリックします。

f:id:kuwazzy:20210114151310p:plain

QueryEditiorにSELECT文が作成されるのでExecuteボタンからクエリを実行します。ResultsにSalesforceのAccount(取引先)のデータが表示されれば成功です。

f:id:kuwazzy:20210114151516p:plain

テーブルリストを見ていくと末尾にカスタムテーブルも含まれていることを確認できます。カスタムテーブルは末尾に「__c」がつきます。同様にSELECT文でカスタムオブジェクトのデータにもアクセスすることが出来ます。

f:id:kuwazzy:20210114151811p:plain

まとめ

本記事では、DBAmpの入手方法、および、インストール、そして、リンクサーバーの作成手順についてご紹介しました。DBAmpでは作成したリンクサーバー経由で SalesforceのデータとSQLServerのデータの双方向の連携が可能です。以下の記事をあわせてご参照ください。

www.cdatablog.jp

DBAmpは21日間の無償評価版がございますので、ご興味のある方は、こちらのWebサイト、もしくは、CDataJapanのテクニカルサポート窓口よりお問い合わせください。