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

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

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

SSIS(SQL Server Integration Service) とは?

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

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

docs.microsoft.com

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

https://files.cdata.com/media/media/qp4fioas/ssiskintone.gif

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

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

f:id:sugimomoto:20190821110733p:plain

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

f:id:sugimomoto:20190821110745p:plain

必要なもの

  • SQL Server(SSIS実行環境含む)
  • Visual Studio(SQL Server Data Toolsを含む)
  • CData SSIS Components for kintone
  • kintoneアカウント

事前にSQL Serverおよび Visual StudioにSQL 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種類以上提供しています。

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

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

f:id:sugimomoto:20190821110929p:plain

トライアル・お問い合わせ

関連コンテンツ