Dynamics 365のブログ
2019.06.11

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

他システム連携

417879652
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 と PowerApps の無償版のセットアップ
  • オンプレミス データ ゲートウェイのインストール
    • オンプレミス データ ゲートウェイの前提条件
  • オンプレミス SQL Server からデータを取得
    • SQL Server に接続する
    • 取得するデータ列を選択する
    • 新しいエンティティに読み込む

事前準備

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

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

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

手順としては、

  1. 無料アカウントでAzure ポータルにログインして、VM (Windows 10)環境を1台構築
  2. リモートデスクトップでアクセスして、オンプレミスの SQL Server 2017 をインストール 
  3. SQL Server Management Studio (SSMS) をインストールして接続
  4. サンプルデータをダウンロードして、SSMS から復元
    ※手順は 「SQL Server でサンプルDBを利用する」を参照

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

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

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

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

ここでは

  1. Dynamics 365 for Sales の無償版をセットアップ
  2. 上記1で作成した onmicrosoft.com のアカウントで 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 と Power Bi を連携させて、ダッシュボードを強化するDynamics 365 と Power Bi を連携させて、ダッシュボードを強化する
  • Dynamics 365 for Outlook を使用するDynamics 365 for Outlook を使用する
  • Dynamics 365の導入スケジュールと手順を考えようDynamics 365の導入スケジュールと手順を考えよう
  • メジャーアップデート適用方法の変更【2019.08】メジャーアップデート適用方法の変更【2019.08】
  • Dynamics 365 と Yammer を連携してインタラクティブに情報交換を行うDynamics 365 と Yammer を連携してインタラクティブに情報交換を行う
  • Dynamics 365ドキュメント SharePoint に保存するDynamics 365ドキュメント SharePoint に保存する

人気の記事

    Dynamics 365 にデータをインポートする

    Dynamics 365 にデータをインポートする

    • 2018.07.3
    • Dynamics 365 の初期設定
    Dynamics 365 のライセンスコストについて

    Dynamics 365 のライセンスコストについて

    • 2017.10.5
    • Dynamics 365 の導入
    Dynamics 365 ユーザーを追加する

    Dynamics 365 ユーザーを追加する

    • 2017.10.26
    • Dynamics 365 の初期設定
    Dynamics 365 インスタンスの管理

    Dynamics 365 インスタンスの管理

    • 2017.10.13
    • Dynamics 365 の管理 [More]
    Dynamics 365 エンティティを管理する

    Dynamics 365 エンティティを管理する

    • 2019.02.15
    • Dynamics 365 の管理
    Dynamics 365 セキュリティ基本設定

    Dynamics 365 セキュリティ基本設定

    • 2017.10.31
    • Dynamics 365 の初期設定
Dynamics 365のブログ / 他システム連携 / オンプレミスの SQL Server からデータを取得する
Dynamics 365のブログ

© Copyright ANDAZE. All rights reserved.