こんにちは。CData リードエンジニアの杉本です。
今回はExcel感覚で誰でも簡単にWebアプリがつくれる「CELF」というサービスと CData Dynamics 365(CRM) ODBC Driver を組み合わせて、Dynamics 365(CRM)のデータを操作できるアプリケーションの作成方法を紹介したいと思います。
CELF とは?
CELF は SCSK 株式会社が提供しているExcelライクなインターフェースで簡単に業務アプリが作成できるクラウドサービスです。
CELF | Excel感覚でWebアプリがつくれるクラウドサービス
以下のようなイメージで、Excel感覚で予算管理などのWebアプリケーションを簡単に作成することができます。
CELF から Dynamics 365(CRM)にアクセスするイメージ
CELF の外部データ接続は、すべてODBC 経由で行われます。
ただし汎用のODBC Drivers が利用できるわけではなく、MySQL、PostgreSQL、SQL Server などの規定のODBC しか受け付けない仕様になっています。そのため、CData ODBC Drivers などを直接利用することができません。
しかしながら、CData SQL Gateway を併用することで CData ODBC Driver を MySQLの接続口として偽装することができます。これにより CELF から CData SQL Gateway+CData ODBC Driver 経由で Dynamics 365(CRM)への接続を可能とします。
必要なもの
CELF クラウド版(30日間トライアルが提供されています。:https://www.celf.biz/trial/)
CData Dynamics CRM ODBC Driver(30日間トライアルが提供されています。:https://www.cdata.com/jp/drivers/dynamicscrm/odbc/)
CData SQL Gateway (CData ODBC Driverに同梱されています)
MySQL ODBC Driver(https://dev.mysql.com/downloads/connector/odbc/)
Dynamics 365(CRM)アカウント
Dynamics 365(CRM) ODBC Driver の設定
まずは、Dynamics 365(CRM)ODBC Driver の接続設定を行います。
Dynamics 365(CRM)ODBC Driver インストール後、ODBC DSNの接続構成画面が立ち上がるので、以下のように接続情報を指定します。
CData SQL Gateway の設定
次にCData SQL Gatewayを立ち上げます。CData SQL Gatewayは CData ODBC Driverをインストールすると一緒にインストールされます。
スタートメニューから「CData SQL Gateway」して起動します。
CData SQL Gatewayが立ち上がったら「サービス」タブを選択し「追加」をクリックします。
任意のサービス名を入力し、接続方式から「MySQL」を選択、先程作成した「Dynamics CRM Source Sys」のDSNを選択して「OK」をクリックしてください。
サービスタブの画面に戻り、「開始」をクリックすれば、Gatewayサービスが起動します。
最後に接続用のユーザーを作成しておきます。「ユーザー」タブから「追加」をクリックし
任意のユーザーIDとパスワードでユーザーを作成します。特権は特にアクセスユーザーを明示しない場合は「管理者」にチェックを入れればOKです。
以上で、CData SQL Gatewayの設定は完了です。
MySQL のODBC 接続の設定
最後にMySQL ODBCの構成を行います。MySQL ODBC Driverは以下のURLからダウンロードできます。
https://dev.mysql.com/downloads/connector/odbc/
バージョンは「Looking for previous GA versions?」をクリックし、5.3.13をダウンロードしてください。
インストール後、ODBC Manager から新しいDSN を追加し、「MySQL Unicode ODBC Driver 」を選択します。注意点として、ODBC は32 ビットを使用します。64ビットではCELF での利用ができません。
任意の名前を設定し(ここでは「MySQL Dynamics365」)CData SQL Gatewayのホスト名(一緒の環境に入れているのでlocalhost)・ユーザー名・パスワードを入力して接続を確立します。
これで、CELFで接続するための環境構成が整いました。
CELF でのDB 設定
それではCELF からMySQL ODBC 経由で Dynamics 365(CRM)に接続します。
「データベース接続管理」タブから「新規データベース接続先情報作成」ボタンをクリックし
接続情報の画面へ以下のように情報を登録します。
登録が完了したら右上の「テーブル管理」を開きます。
「接続先データベース」で作成した CData SQL Gateway のデータベースを選択するとDynamics 365(CRM)のオブジェクトがテーブルとして左の「テーブル一覧」に表示され、Dynamics 365(CRM)に接続できていることがわかります。
これで、例えば「Account (取引先)」をダブルクリックすることで、Dynamics 365(CRM)に格納されているデータを表示できます。
CELF アプリケーションからのDynamics 365(CRM) データへのアクセス
これでCELF アプリ上から、CData SQL Gateway + CData ODBC Driver 経由でDynamics 365(CRM) データを使うことができるようになりました。
Dynamics 365(CRM) データを取得
リボンから「アクション」ボタンをおして、新しいアクションを設定します。
アクションセット設定で、「データ操作」タブから「テーブルXXから複数権取得する」のブロックをドラグします。
これはSQL でいうSELECT 文を発行するアクションです。
テーブルを「先ほどのMySQL Cloudhub」の「Account」に指定します。
その後データを表示する開始セルを設定したら、保存してテスト実行します。
するとDynamics 365(CRM) データがCELF の指定した箇所にレコードとしてインポートできました。
Dynamics 365(CRM) データを登録
同様にデータの登録(Insert)が可能です。
Dynamics 365(CRM) データを更
同様にデータの更新(Update)が可能です。
Dynamics 365(CRM) データを削除
同様にデータの削除(Delete)が可能です。
まとめ
いかがでしたでしょうか。このような処理を組み合わせて、一覧表示・作成・更新を組み合わせたアプリケーションを簡単に作成することができます。
CELF のカスタマイズやバッチによる連携などを行わずにDynamics 365(CRM) データに連携し、リアルタイムにCRUD を行うことができるので、作成するアプリケーションの幅が大きく広がるのではないかと思います。
CDataでは Dynamics 365(CRM)以外にも様々なデータ接続用ODBC Driverを提供していますので、是非組み合わせていろんなアプリケーション開発に役立ててみてください。
関連コンテンツ