はじめに
本記事では、株式会社ニューコム 社が提供するExcelやAccess業務のWebシステム化を実現するdbSheetClientからSalesforceの取引先(Account)データを参照・追加・変更・削除を行うアプリケーションの作成方法をご紹介します。
dbSheetClientの製品概要についてはこちらのページをご覧ください。
本手順の前提
本手順では、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
接続プロパティの詳細はドキュメントの接続文字列オプション を参照してください。
接続テストを行ったあと、OK を押して接続を確立します。
プロジェクトの作成
dbSC2018ProjectEditorを起動してプロジェクトを新規作成します。
DBSサーバーへの接続
メニューバー「接続 > サーバーへ接続」を開き、DBSサーバーにログインします。
DBSサーバーへのログインが成功するとサーバーアイコンの「×」が消えます。
Excelブックの設定
空のExcelブックを作成します。dbSC2018ProjectEditorで作成したプロジェクトの「Excel」タブを開き、「Excelブックの追加」から作成したExcelブックのパスを指定して保存(OK)します。
データベースの追加
「DB」タブを開き「データベースの追加」から以下の設定でデータベースの接続設定を行います。
- 接続先:DBSサーバー
- DBMS : ODBC
- 接続文字列:dsn={ODBCのDSN名:本例では「CData Salesforce Source」}
設定したら「接続テスト」ボタンをクリックして接続が成功することを確認します。
タスク(データの取得:SELECT)の作成
「タスク」タブを開き、タスクセット内にタスクを作成します。作成したタスクの「動作設定 > 基本設定」に以下の設定値をセットします。
- タスクタイプ: 10100 SQL実行
- 基本動作タブ - データベース: 上記データベースの追加で作成した接続設定
続いて「動作設定 > SQL」を開き、QueryEditorから以下の設定を行います。
- Select
- Id
- Name
- Phone
- AccountNumber
- Industory
- Order By
- LastModifiedDate 降順
生成されたSQLでテスト実行して実行結果にSalesforceの取引先(Account)のデータが表示されれば成功です。
下記のSQLが展開されたことを確認します。
SELECT Account.Id,Account.Name,Account.Phone,Account.AccountNumber,Account.Industry FROM Account Order By Account.LastModifiedDate DESC
続いて「動作設定 > 展開シート」を開きExcel側の以下の設定を行います。
- 列タイトルを出力する:チェック
- 展開開始セル位置:「Excelブックの設定」で作成したブックの「Sheet1!A2」を設定 ※列タイトルが1行目に来るため、データは2行目から展開
ボタンの作成
「ボタン」タブを開き、ボタンセット内に以下の内容でボタンを作成します。
- ボタン表示名:Read
- 実行タスク:上記「タスク(データの取得:SELECT)の作成」で作成したタスク
定義ファイルを保存します。
メニューの作成
「メニュー」タブを開き、ボタン(BSNO)に上記「ボタンの作成」で作成したボタンを設定します。
Read(Select)実行
それでは、実際にSalesforceのデータを読み込んでみましょう。緑の再生ボタンのデバッグ実行を起動します。「Read」ボタンをクリックしてExcelシートにSalesforceの取引先(Account)のデータが表示さたら成功です。
更新系(追加・変更・削除)のタスク・ボタンの作成
「タスク」タブに戻り、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無し)」をチェックしてください。
「ボタン」タブに移り、以下のボタンを追加します。
処理 | ボタン表示名 | 実行タスク |
---|---|---|
追加 | InsertData | InsertTask |
変更 | UpdateData | UpdateTask |
削除 | DeleteData | DeleteTask |
更新系(Insert・Update・Delete)の実行
再びデバッグ実行を起動します。今度は、CRUD操作が可能な4つのボタンが表示されるようになりました。まずは「Read」をクリックしてみます。Excelシートに取引先のデータが表示(本例では14件)表示されることが確認出来ます。
次に、「Insert」ボタンをクリックして正常に終了した後に「Read」ボタンを再度クリックしてみます。すると、取引先名(Name=追加テスト)がセットされた取引先が追加されていることを確認出来ます。
同様に「Update」ボタンをクリックした後に「Read」ボタンをクリックすると先の手順で追加した取引先の電話番号(phone=111111)がセットされることを確認出来ます。
最後に「Delete」ボタン、そして「Read」ボタンをクリックしてみましょう。すると、先の手順で追加した取引先名(Name=追加テスト)のレコードが削除されて最初のデータ件数(本例では14件)に戻っていることが確認出来ます。
まとめ
dbSheetClient のODBC 接続機能、および、CData ODBC Driver for Salesforce を利用してSalesforceのデータをCRUD操作できました。CData では、他にも150種類以上のSaaS・NoSQL などのODBC Drivers を提供しています。是非、業務で利用している様々なデータをdbSheetClient で利用してみてください。
CData Software Japan - ODBC Drivers