CData Software Blog

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

dbSheetClientでSalesforceのデータをCRUD操作

はじめに

本記事では、株式会社ニューコム 社が提供するExcelAccess業務のWebシステム化を実現するdbSheetClientからSalesforceの取引先(Account)データを参照・追加・変更・削除を行うアプリケーションの作成方法をご紹介します。

f:id:kuwazzy:20191218195647p:plain

dbSheetClientの製品概要についてはこちらのページをご覧ください。

www.dbsheetclient.jp

本手順の前提

本手順では、dbSheetClientがインストールされているマシン、および、Salesforce Sales Cloud の環境を既に導入済みであることを前提としております。

  • dbSheetClient(開発体験版あり)
  • CData ODBC Driver for Salesforce (30日間の評価版ライセンスあり)
  • Salesforce Sales Cloud (開発者ライセンス・評価版あり)

手順

CData ODBC Driver for Salesforce のインストール

CData ODBC Driver for Salesforce からインストーラをダウンロードします。.exe ファイルをクリックしてインストールを行います。

インストール後にDSN の設定画面が開きます。Salesforce への接続情報を設定します。必要な設定は以下です:

  • User
  • Password
  • Security Token

接続プロパティの詳細はドキュメントの接続文字列オプション を参照してください。

f:id:cdatasoftware:20191126134152p:plain

接続テストを行ったあと、OK を押して接続を確立します。

プロジェクトの作成

dbSC2018ProjectEditorを起動してプロジェクトを新規作成します。

f:id:kuwazzy:20191218184159p:plain

DBSサーバーへの接続

メニューバー「接続 > サーバーへ接続」を開き、DBSサーバーにログインします。

f:id:kuwazzy:20191225110536p:plain

DBSサーバーへのログインが成功するとサーバーアイコンの「×」が消えます。

f:id:kuwazzy:20191225113540p:plain

Excelブックの設定

空のExcelブックを作成します。dbSC2018ProjectEditorで作成したプロジェクトの「Excel」タブを開き、「Excelブックの追加」から作成したExcelブックのパスを指定して保存(OK)します。

f:id:kuwazzy:20191218184547p:plain

データベースの追加

「DB」タブを開き「データベースの追加」から以下の設定でデータベースの接続設定を行います。

  • 接続先:DBSサーバー
  • DBMS : ODBC
  • 接続文字列:dsn={ODBCのDSN名:本例では「CData Salesforce Source」}

設定したら「接続テスト」ボタンをクリックして接続が成功することを確認します。

f:id:kuwazzy:20191225111001p:plain

タスク(データの取得:SELECT)の作成

「タスク」タブを開き、タスクセット内にタスクを作成します。作成したタスクの「動作設定 > 基本設定」に以下の設定値をセットします。

  • タスクタイプ: 10100 SQL実行
  • 基本動作タブ - データベース: 上記データベースの追加で作成した接続設定

f:id:kuwazzy:20191218185747p:plain

続いて「動作設定 > SQL」を開き、QueryEditorから以下の設定を行います。

  • Select
    • Id
    • Name
    • Phone
    • AccountNumber
    • Industory
  • Order By
    • LastModifiedDate 降順

生成されたSQLでテスト実行して実行結果にSalesforceの取引先(Account)のデータが表示されれば成功です。

f:id:kuwazzy:20191218190120p:plain

下記のSQLが展開されたことを確認します。

SELECT Account.Id,Account.Name,Account.Phone,Account.AccountNumber,Account.Industry
FROM Account
Order By Account.LastModifiedDate DESC

f:id:kuwazzy:20191218190557p:plain

続いて「動作設定 > 展開シート」を開きExcel側の以下の設定を行います。

  • 列タイトルを出力する:チェック
  • 展開開始セル位置:「Excelブックの設定」で作成したブックの「Sheet1!A2」を設定 ※列タイトルが1行目に来るため、データは2行目から展開

f:id:kuwazzy:20191218190807p:plain

ボタンの作成

「ボタン」タブを開き、ボタンセット内に以下の内容でボタンを作成します。

  • ボタン表示名:Read
  • 実行タスク:上記「タスク(データの取得:SELECT)の作成」で作成したタスク

f:id:kuwazzy:20191218191259p:plain

定義ファイルを保存します。

メニューの作成

「メニュー」タブを開き、ボタン(BSNO)に上記「ボタンの作成」で作成したボタンを設定します。

f:id:kuwazzy:20191218191634p:plain

Read(Select)実行

それでは、実際にSalesforceのデータを読み込んでみましょう。緑の再生ボタンのデバッグ実行を起動します。「Read」ボタンをクリックしてExcelシートにSalesforceの取引先(Account)のデータが表示さたら成功です。

f:id:kuwazzy:20191218191824p:plain

更新系(追加・変更・削除)のタスク・ボタンの作成

「タスク」タブに戻り、Read(SELECT)以外のタスクを、タスクタイプ:「10100:SQL実行」で以下の設定値で作成します。

処理 タスクセット名 SQL
追加 InsertTask INSERT INTO Account (Name) VALUES ('追加テスト');
変更 UpdateTask UPDATE Account SET Phone = '111111' WHERE Name = '追加テスト';
削除 DeleteTask DELETE FROM Account WHERE Name = '追加テスト';

Read(SELECT)と一点異なるところとして更新系のタスクは「SQL文実行のみ(Select無し)」をチェックしてください。

f:id:kuwazzy:20191218192616p:plain

「ボタン」タブに移り、以下のボタンを追加します。

処理 ボタン表示名 実行タスク
追加 InsertData InsertTask
変更 UpdateData UpdateTask
削除 DeleteData DeleteTask

f:id:kuwazzy:20191218192738p:plain

更新系(Insert・Update・Delete)の実行

再びデバッグ実行を起動します。今度は、CRUD操作が可能な4つのボタンが表示されるようになりました。まずは「Read」をクリックしてみます。Excelシートに取引先のデータが表示(本例では14件)表示されることが確認出来ます。

f:id:kuwazzy:20191218193252p:plain

次に、「Insert」ボタンをクリックして正常に終了した後に「Read」ボタンを再度クリックしてみます。すると、取引先名(Name=追加テスト)がセットされた取引先が追加されていることを確認出来ます。

f:id:kuwazzy:20191218193523p:plain

同様に「Update」ボタンをクリックした後に「Read」ボタンをクリックすると先の手順で追加した取引先の電話番号(phone=111111)がセットされることを確認出来ます。

f:id:kuwazzy:20191218193932p:plain

最後に「Delete」ボタン、そして「Read」ボタンをクリックしてみましょう。すると、先の手順で追加した取引先名(Name=追加テスト)のレコードが削除されて最初のデータ件数(本例では14件)に戻っていることが確認出来ます。

f:id:kuwazzy:20191218194129p:plain

まとめ

dbSheetClient のODBC 接続機能、および、CData ODBC Driver for Salesforce を利用してSalesforceのデータをCRUD操作できました。CData では、他にも150種類以上のSaaS・NoSQL などのODBC Drivers を提供しています。是非、業務で利用している様々なデータをdbSheetClient で利用してみてください。

CData Software Japan - ODBC Drivers

f:id:cdatasoftware:20191126140326p:plain