Dynamics 365ドキュメント SharePoint に保存する Dynamics 365 と Yammer を連携してインタラクティブに情報交換を行う Dynamics 365 と Power Bi を連携させて、ダッシュボードを強化する オンプレミスの SQL Server からデータを取得する Dynamics 365 for Outlook を使用する
2017.08.23 | integrating-dynamics-365-with-other-systems/

オンプレミスの SQL Server からデータを取得する

Author:Takafumi Noguchi

linkedIn

Dynamics 365 は Power Platform と呼ばれる PowerApps、Flow、Power BI と連携することで、その価値をさらに高めることができます。Dynamics 365 Customer Engagement Plan のライセンスを利用している場合は、ぜひとも活用したいアプリケーションです。

現在 Dynamics 365 は Common Data Service を使用してデータを管理しているため、Dynamics 365 で蓄積したデータを、同様にCommon Data Service を利用している PowerApps、Flow、Power BI にシームレスに渡すことができます。

引用元: Common Data Service とは何ですか (マイクロソフト)

Common Data Service にデータの統合 アプリケーションの構築には、通常、複数のソースからのデータが含まれますが、これはアプリケーション レベルで行われることもあります。このデータを共通のストアに統合することで、アプリケーション構築の経験が簡単になり、データを維持して操作するための単一のロジック セットが可能になる場合もあります。 Common Data Service は複数のソースから単一のストアにデータを統合し、Dynamics 365 アプリケーションから既に利用可能なデータとともに、PowerApps、Flow および Power BI で使用することができます。

引用元: Common Data Service とは何ですか (マイクロソフト)

この Common Data Service (CDS)を使って、オンプレミスの SQL Server からデータを取得して、Dynamics 365 の新しいエンティティに格納する手順をご紹介します。※CDS とは何かについては上記の技術情報をご参照ください。

事前準備

SQL Server のデータを Dynamics 365 に反映させる前に、いくつか準備をします。

オンプレミスの SQL Server を構築

オンプレミスの SQL Server を Azure の VM を使って構築しました。

手順としては、

を行いました。すべて無料で検証できます。 ※自分のクライアントPCに SQL Server インストールしてやればよかったんですが、いろいろな大人の事情があり、 Azure の VM 構築で対応しました。オンプレミス? という多少の疑問は一度横に置いています(笑)

サンプルデータの「AdventureWorks2017」 から「SalesPerson」というテーブルを CDS の新しいエンティティに格納します。

サンプルデータの「AdventureWorks2017」 から「SalesPerson」というテーブルを CDS の新しいエンティティに格納します。

Dynamics 365 と PowerApps の無償版のセットアップ

もし両方とも環境が用意できていない方は、無償版の利用を開始してください。 ここでは

の順番で準備をしました。※手順は割愛します。

オンプレミス データ ゲートウェイのインストール

それでは準備が整ったので早速始めます。まずはオンプレミスの SQL Server 上に オンプレミス データ ゲートウェイ をインストールします。このオンプレミス データ ゲートウェイをインストールすることで、オンプレミス・クラウド間のデータのやり取りが簡単にできるようになります。

オンプレミス データ ゲートウェイは、 、ここからダウンロードできます。

オンプレミス データ ゲートウェイの前提条件

オンプレミス データ ゲートウェイをオンプレ環境にインストールする場合は留意事項があります。

最小:

  • .NET 4.5 Framework
  • 64 ビット バージョンの Windows 7 または Windows Server 2008 R2 (またはそれ以降)

推奨:

  • 8 コア CPU
  • 8 GB のメモリ
  • 64 ビット バージョンの Windows 2012 R2 (またはそれ以降)

関連する考慮事項: ゲートウェイをドメイン コントローラーにインストールすることはできません。 ゲートウェイは、電源オフ、スリープ状態、インターネット未接続状態になる可能性があるコンピューター (ノート PC など) にインストールしないでください。このような状況では、ゲートウェイは動作できません。 さらに、ワイヤレス ネットワーク経由ではゲートウェイのパフォーマンスが低下する可能性があります。

引用元: キャンバスアプリ用のオンプレミス データ ゲートウェイについて

ダウンロードしたらインストールを開始します。インストール手順は上記の技術情報に記載があるのでご参考ください。

ここでは、データ ゲートウェイの名前を下図のように設定して構成しました。

正常に完了したら、下図のようになりました。PowerApps で準備完了となっています。

PowerApps の「ゲートウェイ」を開くと作成した データ ゲートウェイが表示されていました。

オンプレミス SQL Server からデータを取得

オンプレミス SQL Server 上でオンプレミス データ ゲートウェイの設定が完了したので、PowerApps 側で特定のデータベースを取得してエンティティに格納します。

SQL Server に接続する

PowerApps の画面に移動して、右上より Environment を切り替えます。

左パネルの「データ」を展開して「データ統合」をクリックします。「データ統合プロジェクトを作成」をクリックします。

データソースとして「SQL Server データベース」を選択します。

接続設定で SQL Server のサーバー名と取得したいデータベース名を入力、オンプレミス データ ゲートウェイに先ほど作成したデータ ゲートウェイを選択して、Windows 認証として認証情報を入力します。そして「次へ」をクリックします。

取得するデータ列を選択する

データベースのテーブルを選択します。ここでは「SalesPerson」を選択して「次へ」をクリック。

クエリの編集画面になります。「列の管理」で「列の選択」をクリックして、必要な列のみ取得するようにします。

選択したら「次へ」をクリックします。

新しいエンティティに読み込む

テーブルの情報を新しいエンティティに読み込みます。読み込みの設定で「新しいエンティティに読み込む」にチェックをいれて、エンティティ名と表示名を設定します。

フィールドマッピングでキーフィールドを設定します。ここでは BusinessEntityID という一意のIDフィールドを選択しました。

プライマリ名フィールドに LastName を設定しようとしたらエラーが出ました。複数行テキストは設定できないということなので、LastName のフィールド型を「テキスト」に変更しました。

プライマリ名フィールドを LastName にして、その他のフィールド型も「テキスト」に変更して「次へ」をクリックしました。

※もし複数行テキストがいい場合は、そのままでもOKです。

最後に設定の更新ですが、ここでは「手動で更新」としました。自動的に更新する場合は、更新間隔や開始日を設定します。

「作成」をクリックします。読み込み状態が「完了済み」となればOKです。

データ統合に新しいプロジェクトが作成されています。

エンティティをみると、新規作成したエンティティが一覧に表示されています。

Dynamics 365 のサイトマップ上に表示させてみました。

これでオンプレミス SQL Server から Dynamics 365 へのデータの取り込みは完了です。オンプレミスからの移行も CDS を活用することでスムーズに行えそうです。

今回はここまで。
 

Dynamics 365 ブログ / integrating-dynamics-365-with-other-systems /getting-data-from-on-premise-sql

Those who read this article have read other articles like this.

Popular articles