CData SSIS Components を使用して SQL Server から Dynamics 365 レコードを新規挿入または既存を更新

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
CData SSIS Components を使用して SQL Server データを Dynamics 365 に簡単にプッシュできます。この例では、SSIS ワークフローを使用して、SQL Server データベースのデータで Dynamics 365 に新しいレコードを挿入するか、既存のレコードを更新します。

SQL Server データベースは、エンタープライズレコードの保存に広く使用されています。このデータを他の場所に移動する必要がある場合がよくあります。CData SSIS Components for Dynamics 365 を使用すると、SQL Server から Dynamics 365 にデータを簡単に転送できます。

この記事では、CData SSIS Components for Dynamics 365 を SQL Server Integration Services ワークフロー内で使用して、SQL Server から Dynamics 365 にデータをエクスポートする方法を説明します。ルックアップコンポーネントを活用して、既存のレコードを検索・更新するか、新しいレコードを挿入します。

Dynamics 365 データ連携について

CData は、Microsoft Dynamics 365 のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:

  • Sales、Customer Service、Finance & Operations、Marketing など、Dynamics 365 エコシステム全体のデータの読み取りと書き込みができます。
  • カスタマイズ可能なキャッシュと、インテリジェントなクエリ集約・分離により、Dynamics CRM のネイティブ機能を拡張できます。
  • Azure Active Directory、Azure マネージド サービス ID 認証情報、クライアントシークレットまたは証明書を使用した Azure サービスプリンシパルなど、さまざまな方法で Dynamics 365 に安全に認証できます。
  • SQL ストアドプロシージャを使用して、Dynamics 365 エンティティを管理できます。エンティティ間の関連付けの一覧表示、作成、削除などが可能です。

CData のお客様は、データをデータウェアハウスにレプリケートしたい場合(他のデータソースと併せて)や、Microsoft エコシステム内のお気に入りのデータツール(Power BI、Excel など)または外部ツール(Tableau、Looker など)からライブ Dynamics 365 データを分析したい場合など、さまざまな理由で当社の Dynamics 365 接続ソリューションを使用しています。


はじめに


コンポーネントの追加

まず、新しい OLE DB ソース、CData Dynamics 365 ルックアップ、および 2 つの CData Dynamics 365 デスティネーション(ルックアップで一致した場合と一致しなかった場合をそれぞれ処理)を新しい Data Flow Task に追加します。

OLE DB ソースの設定

以下の手順に従って、SQL Server インスタンスへの接続に必要なプロパティを指定します。

  1. OLE DB Source を開き、新しい接続を追加します。ここでサーバーとデータベースの情報を入力します。
  2. Data access mode メニューで「Table or view」を選択し、Dynamics 365 にエクスポートするテーブルまたはビューを選択します。
  3. OLE DB Source ウィザードを閉じ、CData Dynamics 365 Destination に接続します。

Dynamics 365 用の新しい Connection Manager を作成

以下の手順に従って、Connection Manager に接続プロパティを保存します。

  1. 新しい Connection Manager を作成します:Connection Manager ウィンドウで右クリックし、New Connection をクリックします。Add SSIS Connection Manager ダイアログが表示されます。
  2. Connection Manager type メニューで CData Dynamics 365 Connection Manager を選択します。
  3. 接続プロパティを設定します。通常、Dynamics 365 接続には以下が必要です:
    • User
    • Password
    • AccessToken

Dynamics 365 ルックアップの設定

ルックアップコンポーネントの Transform Editor で、SQL Server ソーステーブルから Dynamics 365 ルックアップテーブルへのマッピングを定義します。

  1. Dynamics 365 ルックアップをダブルクリックして、ルックアップコンポーネントエディタを開きます。
  2. Connection タブで、先ほど作成した Connection Manager を選択します。
  3. Connection タブで、Connection Manager を指定(または新規作成)し、データがアップサートされるテーブルを指定します。この例では、Account レコードを転送します。
  4. Columns タブで、入力カラムの主キーからルックアップカラムの主キーへのマッピングを設定します。

Dynamics 365 デスティネーションの設定

ルックアップコンポーネントを使用すると、データソースのどのエントリが Dynamics 365 に既に存在し、どのエントリが新規であるかがわかります。一致が見つかった場合と見つからなかった場合を処理する 2 つの Dynamics 365 コンポーネントを設定します。

ルックアップ一致デスティネーション

ルックアップコンポーネントが一致を返した場合、Dynamics 365 の既存レコードを更新します。

  1. Lookup Match Output を Dynamics 365 デスティネーションコンポーネントにマップします。
  2. Dynamics 365 デスティネーションをダブルクリックして、デスティネーションコンポーネントエディタを開きます。
  3. Connection Manager タブで、先ほど作成した Connection Manager を選択します。
  4. 更新するテーブルを指定し、Action を「Update」に設定します。
  5. Column Mappings タブで、入力カラムからデスティネーションカラムへのマッピングを設定します(SQL Server の主キーカラムを Dynamics 365 の主キーカラムにマップすることを忘れずに)。

ルックアップ不一致デスティネーション

ルックアップコンポーネントが一致を返さなかった場合、Dynamics 365 に新しいレコードを追加します。

  1. Lookup No Match Output を Dynamics 365 デスティネーションコンポーネントにマップします。
  2. Dynamics 365 デスティネーションをダブルクリックして、デスティネーションコンポーネントエディタを開きます。
  3. Connection Manager タブで、先ほど作成した Connection Manager を選択します。
  4. 新しいレコードを挿入するテーブルを指定し、Action を「Insert」に設定します。
  5. Column Mappings タブで、入力カラムからデスティネーションカラムへのマッピングを設定します。

プロジェクトの実行

これでプロジェクトを実行できます。 SSIS Task の実行が完了すると、SQL テーブルのデータが選択したテーブルにエクスポートされます。

はじめる準備はできましたか?

Dynamics 365 SSIS Component の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Dynamics 365 Icon Dynamics 365 SSIS Components お問い合わせ

パワフルなSSIS Source & Destination Components で、SQL Server とDynamics 365 データをSSIS ワークフローで連携。:Dynamics 365 Data Flow Components を使って、多様なデータを簡単に同期。データ同期、ローカルバックアップ、ワークフロー自動化に最適!