こんにちは。 CData Software Japan Support Engineer の松本です。
今回は、SSIS を使ってSQL Server とkintone のように異なるデータソース間でデータ連携を行う、最もシンプルなパターン(SQL Server のデータをkintone に追加)をご紹介します。
目次
開発環境
今回使用する環境は、以下の通りです。 ・Microsoft Visual Studio Community 2019 ・SQL Server Integration Services Projects ・CData SSIS components for kintone
準備
kintone アプリの作成
まずは、サンプルのkintone アプリを作ってみます。以下のようにデータを表すKey と、値(Value) の2つの項目を持つアプリを作成しました。
kintone アプリ
SQL Server テーブルの作成
次に、SQL Server 上にテーブルを作っていきます。こちらのテーブルのデータをkintone に追加します。SQL Server のテーブルも同様にKey と、値(Value) の2つの項目のテーブルを作成します。 また、テーブルにはkintoneに反映したいデータを追加しておきます。
SQL Server テーブル
プロジェクトの作成とSQL Server の接続設定
下準備は完了です。それでは、SSIS 用のプロジェクトを作ってSQL Server との接続設定をしていきましょう。Visual Studio を起動して、「新しいプロジェクトの作成(N)」をクリックします。
Visual Studio 2019 新しいプロジェクトの作成
テンプレートの検索に「Integration Services Project 」と入力し、Integration Services Project を選択します。
Integration Services Project を選択
プロジェクト名を入力して「作成」をクリックします。
プロジェクト名「Sample01」を入力
SSIS プロジェクトが作成されます。
SSIS プロジェクトの初期画面
Package のMaxConcurrentExecutables (並列実行数)を1 に設定します。
Package MaxConcurrentExecutables の設定
接続設定
SQL Server
接続マネージャーを右クリックし、「新しい接続(W)...」をクリックします。
新しい接続
SSIS 接続マネージャーの追加ダイアログが表示されるので、「ADO.NET 」を選択し、「追加(A)...」をクリックします。
ADO.NET を追加
ADO.NET の接続マネージャーの構成ダイアログが表示されるので、「新規作成(E)...」をクリックします。
ADO.NET の接続マネージャーの構成
接続マネージャーダイアログが表示されるので、接続情報を入力し、「接続テスト(T)」をクリックして、接続できることを確認します。
SQLServer の接続情報を入力
項目
値
ユーザー名(U)
SQL Serverのユーザー名
パスワード(P)
SQL Serverのパスワード
データベース名の選択または入力(D)
SQL Server のデータベースを選択します。
「OK」をクリックし、画面を閉じると、ADO.NET の接続マネージャーの構成ダイアログに接続先が追加されます。
ADO.NET の接続マネージャーの構成
接続マネージャーに接続先が追加されたら、Name プロパティにわかりやすい名前を設定します。
Name プロパティにわかりやすい名前を設定
kintone
SQL Server と同様に、kintone の接続先を追加します。 SSIS 接続マネージャーの追加ダイアログを表示し、「CDATA_KINTONE」を選択し、「追加(A)...」をクリックします。
CDATA_KINTONE を選択
CData Kintone Connection Manager が表示されるので、接続情報を入力し、「Test Connection」をクリックして、接続できることを確認します。
kintone 接続設定
項目
値
URL
https://xxxxxxxxxxxx.cybozu.com
kintone URL
User
kintone のユーザー名
Password
kintone のパスワード
SQL Server と、kintone の接続が作成できたら、Name プロパティにわかりやすい名前を設定します。
Name プロパティにわかりやすい名前を設定
制御フローの作成
制御フロー
制御フローとして、SSIS ツールボックスから、データフロータスクを追加します。
追加されたデータフロータスクを右クリックし、「編集(E)...」をクリックすると、データフロータブに移行します。
データフローの作成
SQL Server からの読み込み
ADO NET 変換元を追加
始めに、SQL Server からデータを読み込むため、ADO NET 変換元コンポーネントを追加します。 追加したら、Name プロパティでわかりやすい名前を設定しておきます。
ADO NET 変換元の設定
テーブル名またはビュー名(T): で、SQL Server のテーブルを選択します。 次に、列を選択し、テーブルの列が表示されていることを確認して、OK をクリックします。
kintone への挿入
CData Kintone Destination コンポーネントを追加
次に、kintone へ挿入するために必要な、CData Kintone Destination コンポーネントを追加します。
コンポーネントの接続
追加したら、SQL Server の出力と、kintone 入力をこのように接続します。
CData Kintone Destionation Editor の設定
「Use a table:」で、挿入したいkintone のアプリのテーブルを選択し、「Action:」でInsert を選択します。 次に、マッピングを選択し、入力に接続されているSQL Server の列と、kintone の列項目が対応していることを確認して、OK をクリックします。
実行
タスクの実行
制御フロー画面で、データフロータスクを右クリックし、「タスクの実行(X)」をクリックします。
実行結果
kintone アプリにデータが反映されている
kintone アプリを確認すると、SQL Server のデータがkintone アプリに登録されていることが確認できます。
まとめ
今回は、SSIS とCData SSIS Componets を組み合わせて、ノーコードでデータベースとkintone 間のような、異なるデータソース間で、データ連携を行う方法をご紹介しました。
SSIS のようなETL ツールを使えば、簡単な操作でデータを連携させることができます。
気になったデーターソースがあれば、気軽にダウンロードして、試してみてください。SQL SSIS Components | SSIS Data Flow Components CData Software Japan
関連コンテンツ