CData Software Blog

クラウド連携のCData Software の技術ブログです。

SQL Server の従業員データを kintone に連携する処理を SSIS(SQL Server Integration Service)で構築

こんにちは。CData リードエンジニアの杉本です。

今日はkintoneのデータ連携を行いたいというユーザー向けに、CData SSIS Compornentを使ったSQL Serverとのデータ連携方法をご紹介します。

SSISSQL Server Integration Service) とは?

SQL Server の付属のETL・EAIプラットフォームです。

Microsoft Integration Servicesは、エンタープライズレベルのデータ統合およびデータ変換ソリューションを構築するためのプラットフォームです。Integration Servicesを使用して、ファイルのコピーまたはダウンロード、データウェアハウスのロード、データのクレンジングとマイニング、およびSQL Serverオブジェクトとデータの管理により、複雑なビジネス上の問題を解決します。

docs.microsoft.com

以下のようにドラッグアンドドロップでデータ連携のフローが構成できるUIが提供されており、手軽にサービス間同士のデータ連携を実現できます。

https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/sugimototest/ssiskintone.gif

この記事の連携シナリオ・対象のデータ

この記事では以下のようなSQL Serverで提供されているサンプルデータベース(AdventureWorks)の従業員データを

f:id:sugimomoto:20190821110733p:plain

kintoneのサンプルアプリである人事労務パックの従業員名簿にデータ連携を行う、というシナリオで進めていきます。

f:id:sugimomoto:20190821110745p:plain

必要なもの

事前にSQL Serverおよび Visual StudioSQL Server Data Toolsをインストールしておきます。

f:id:sugimomoto:20190821110751p:plain

CData SSIS Components for kintoneのインストール

SSISはデータ連携を行うために非常に便利なツールですが、デフォルトのままでは kintoneに接続することができません。

そこで、CData SSIS Components for kintone を利用して、kintoneへのデータ連携も行えるように拡張します。

CData SSIS Components for kintone は以下のURLからトライアルのダウンロードが可能です。

https://www.cdata.com/jp/drivers/kintone/ssis/

インストーラーをダウンロードしたら、以下のようにセットアップ画面を立ち上げて、そのまま進めていくだけで、SSISで実行できる環境が整います。

f:id:sugimomoto:20190821110758p:plain

プロジェクトの作成

それでは実際にSSISの実行プロジェクトを作成していきます。

Visual Studioを立ち上げて、「新しいプロジェクト」→「Integration Services Project」を選択し、プロジェクトを作成します。

f:id:sugimomoto:20190821110803p:plain

今回はシンプルにデータフロータスクを使って、データ連携を構築します。

SSISツールボックスから「データフロータスク」をデザイナー画面へドラッグアンドドロップで配置します。

f:id:sugimomoto:20190821110809p:plain

SQL Serverからデータ取得処理の作成

次にSQL Serverからデータを取得する処理を構成します。

データフロータスクの詳細画面に移動後、SSISツールボックスの中から「変換元アシスタント」をデザイナー画面に配置します。

f:id:sugimomoto:20190821110814p:plain

変換元アシスタントの一覧からSQL Serverを選択し、接続マネージャーを新規作成します。

f:id:sugimomoto:20190821110819p:plain

SQL Serverへの接続構成画面が表示されるので、対象のサーバー名と認証方法・データベースを選択します。今回私の環境ではLocalhostに構成していたので、以下のように設定しました。

f:id:sugimomoto:20190821110825p:plain

次に取得対象のテーブルもしくはビューを選択します。今回はAdventureWorksのデフォルトビューとして含まれている「HumanResource.vEmployee」を選択しました。

f:id:sugimomoto:20190821110830p:plain

kintoneへのデータ登録処理の構成

最後にkintonehのデータ登録処理を構成します。

CData SSIS Component for kintoneをインストールしていると、SSISツールボックスにkintone用のコンポーネントが表示されるようになります。

その中から「CData kintone Destination」をデザイナー画面にドラッグアンドドロップで配置します。

f:id:sugimomoto:20190821110836p:plain

「CData kintone Destination」を配置したら、事前に作成したSQL Serverからのデータ取得処理とコネクタを以下のようにつなぎます。

f:id:sugimomoto:20190821110842p:plain

コネクタ接続後、「CData kintone Destination」の詳細画面を立ち上げ、接続情報を構成します。

以下のConnection Managerから「New」をクリックし

f:id:sugimomoto:20190821110847p:plain

接続したいkintone環境への接続情報を入力します。

kintoneの接続情報 設定項目
ユーザID User
パスワード Password
kintoneのサブドメイン含むサイトURL  Url

f:id:sugimomoto:20190821111617p:plain

接続構成後、対象のテーブル(アプリ)とアクションを選びます。今回はシンプルにInsertだけ行いますが、UpdateやDeleteも実行可能です。

f:id:sugimomoto:20190821110857p:plain

なお、アプリ選択後にPreviewをクリックすることで、現在格納されているデータを確認することが可能です。

f:id:sugimomoto:20190821110908p:plain

最後にSQL Serverから取得したデータをkintoneのアプリにどう連携するかを「マッピング」の画面で構成します。

f:id:sugimomoto:20190821110913p:plain

以上でSSISプロジェクトの作成は完了です。

実行

それでは実行してみましょう。Visual Studioの「開始」をクリックすることで、構成したプロイジェクトを実行できます。

f:id:sugimomoto:20190821110919p:plain

以下のように290件のレコードを処理することができました。

f:id:sugimomoto:20190821110924p:plain

最後に

CData SSIS Compornentはkintone以外にも、SalesforceやDynamics 365といった各種クラウドサービスに接続できるコンポーネントを150種類以上提供しています。

ぜひ皆さんがお使いのサービスの接続に利用してみてください。

http://www.cdata.com/jp/ssis/

f:id:sugimomoto:20190821110929p:plain