この記事ではノーコードのデータ連携ソフトウェアである CData Arc を利用し、SQLServer・BigQuery・SAP S/4 HANA のデータを定期的に kintone に連携する方法を紹介します。
CData Arc とは?
CData Arc はノーコードでETL/EAI などのデータ連携や EDI などの企業間での各種取引情報連携を実現できるWebアプリケーションです。
https://arc.cdata.com/
今回はこの CData Arc と BigQuery、OData(SAP S/4 HANA への接続用)の ADO.NET Provider を組み合わせて、kintone へデータを連携するための方法を解説します。
※SQLServer への接続コネクタは CData Arc に入っております。
必要なもの
以下の製品のインストールが必要になります。すべて30日間のトライアルが提供されていますので、是非試してみてください。
事前準備
まず使用する製品をそれぞれインストールします。以下のページから、CData Arc の本体を入手できます。必要に応じて、Windows、Java/Linux、Cloud Hosted のバージョンから選択してください。なお、本記事ではWindows ベースで進めます。
https://arc.cdata.com/download/
インストールはそのままダイアログに従って進めれば大丈夫です。難しいところは特にありませんが、ログインする際のパスワード入力を求められる場所がありますので、忘れてしまわないように注意しましょう。
また CData Arc には BigQuery と OData の接続用ライブラリが含まれていませんので、それらを個別で CData のサイトから入手し、インストールします。
それぞれ以下の URL から入手可能です。
https://www.cdata.com/jp/drivers/bigquery/ado/
https://www.cdata.com/jp/drivers/odata/ado/
https://www.cdata.com/jp/drivers/kintone/ado/
こちらのインストールもそのまま進んでいくだけで大丈夫です。
kintone には、SQLServer、BigQuery、SAP S/4 HANA それぞれの連携先としてアプリを3つ用意しておきます。
今回は、以下の3つのアプリを事前に作成しました。
CData Arc でジョブ作成~実行
CData Arc を起動後、ログイン画面が表示されるので、CData Arc のインストール時に設定したパスワードを入力してログインします。
SQLServer から kintone への連携ジョブを作成
SQLServer の設定
左側のサイドメニューの Database にカーソルを当てると、「+」が表示されますのでクリックします。
コネクタId に今回は「SQLServer-Test」と入力しました。入力後、「コネクタを作成」をクリックします。
ドライバー名の項目がプルダウンとなっていますので、SQLServer を選択します。あとはサーバ名やユーザ名など、それぞれの項目に SQLServer の情報を入力してください。
入力後「接続のテスト」をクリックし、画面上部に”成功しました”とメッセージが表示されましたら、右上にある「変更を保存」をクリックして接続情報を保存します。
次に SQLServer のどのテーブルのデータを取得するかを設定していきます。
マッピングの「アウトプット」→「+」の順にクリックし、その後に表示される「テーブルまたはビュー」をクリックします。
SQLServer のテーブルが表示されるので、kintone へ連携したいテーブルを選択し、「次へ」をクリックします。
ここでは、SQLServer から取得する際の条件を指定できます。画面上部のカラムエリアで取得したいカラムにチェックを入れると、クエリエリアに自動的にクエリが作成されます。逆にクエリを手動で入力することも可能です。その場合は、「カスタムクエリの記述」にチェックを入れると、入力することが可能になります。
クエリエリアの下に Advanced という項目がありますが、ここでは新規レコード、または変更レコードのみを取得する設定ができるようになっています。日時のカラムを取得対象に含めている場合は、設定することが可能となっています。今回は「LastModifiedDate」を設定し、「作成」をクリックします。
これで SQLServer の設定が完了しましたので、右上にある「変更を保存」で保存を行ってください。
kintone の設定
kintone と BigQuery、OData は 先ほどインストールした CData ADO.NET を使いますので、サイドメニューの「エンタープライズ」にある、CData の「+」をクリックします。
先ほどと同じように名前を入力した後、接続設定画面が表示されます。
データソースに「CData Kintone」を選択後、URL、User、Password を入力し、接続のテストを行います。成功であれば保存します。
マッピングの設定でになります。kintone はデータを受ける方なので「インプット」を選択後、「+」→「テーブルまたはビュー」をクリックします。
対象のテーブル(kintoneのアプリ)を選択すると、以下のような画面が表示されます。ここでは、kintone に登録する項目を設定します。UPSERT する場合は赤枠部分を ON にします。今回は UPSERT する場合の KEY 項目に Id を設定しています。 設定後は画面下部にある「保存」をクリックします。
元の画面に戻ったら、今度は「変更を保存」をクリックします。
以上で kintone の設定が完了し、ジョブのデータIN/OUT までを作成することができました。次は SQLServer と kintone のデータをマッピングする設定を行っていきます。
Mapping の設定
サイドメニューより「XML Map」を選択します。
一度「変更を保存」で XML Map を保存します。
以下のように「SQLServer」→「XML Map」→「kintone」の流れになるように線をつなげていき、右側にある保存アイコンをクリックして今の状態を保存します。
「XML Map」をクリックすると以下の画面が表示されます。ここでは、実際に項目のマッピングを設定します。
まずは、先ほど作成した接続内容をそれぞれに設定します。ソースファイルに SQLServer 、デスティネーションに kintone です。
画面下部のマッピングは、ドラッグ&ドロップでできますので、対応する項目に設置してください。設定が終わりましたら、「変更を保存」をクリックします。
ジョブ実行
作成した SQLServer のコネクタをクリックし、「アウトプット」タブで以下の画面が表示されます。ジョブを実行する場合は、受信ボタンをクリックするとスタートします。
実行されると以下のように、取得したレコードが一覧で表示されます。
実行後、kintone にデータが連携されたかどうか確認してみると、空だったSQLServer-Replicate というアプリに SQLServer のデータが連携されました。
再度実行した場合は、更新されたデータがないため、SQLServer から何もデータを取得しません。これは SQLServer の設定で「LastModifiedDate」で新規、更新のレコードを判断するよう設定していたためです。
ジョブのスケジューリング
SQLServer の設定画面から「オートメーション」タブをクリックすると以下の画面が表示されます。受信のチェックボックスにチェックを入れると、実行間隔を設定することができます。
以上が、SQLServer → kintone のジョブ作成から実行でした。では、同じ要領で BigQuery と SAP S/4 HANA のジョブも作成していきます。
BigQuery から kintone への連携ジョブを作成
kintone のコネクタを作成した際と同じように、サイドメニューのCData からコネクタを作成します。設定画面を表示後、データソースに「CData Google BigQuery」、Project Id には Google Cloud Platform のプロジェクトを設定し、下の青いボタンをクリックします。
※以下の画面は接続完了後なので、ボタン名が若干違うかと思います
途中、BigQuery のコネクタから BigQuery への接続リクエストがありますので、下のボタンをクリックして許可します。
BigQuey のデータセットまで指定する場合は、「Advanced」タブから設定できます。
BigQuery からどんなデータを取得するかを設定後、今度は kintone に対してBigQUery のデータを受けるアプリを設定します。
設定方法は先ほどと同じです。インプットに「BigQuery-Replicate」というkintone のアプリが表示されました。
次に、BigQuery 用の「XML Map」を作成していきます。
「XML Map」を以下のように BigQuery と kintone につなぎます。
「XML Map」を開き、項目のマッピングを行います。
これで実行できる準備が整ったので、BigQuery の設定画面を開き、実行してみます。
kintone のBigQuery-Replicate アプリにもデータが連携されているのが確認できました。
SAP S/4 HANA から kintone への連携ジョブを作成
最後に「SAP S/4 HANA」からの連携です。作成方法は BigQuery の手順と同じですので、こちらは接続設定と結果だけをお伝えします。
「SAP S/4 HANA」専用コネクタはまだCData では提供していないので、今回は OData のコネクタを使用していきます。
ではサイドメニューより CData を選択してコネクタを作成していきます。データソースは「CData OData」、URLはご利用になられているSAP S/4 HANA の URL を設定し、一度「変更を保存」で保存を行います。
続けて、「Advanced」タブをクリックし、SAP S/4 HANA のユーザ名/パスワードを入力します。
Custom Headers 項目には SAP S/4 HANA で発行した API Key を以下の形式で入力します。
APIKey:XXXXXXXXXX
なお、SAP S/4 HANA でのAPI Key は以下の手順で取得することができます。
SAP API Business Hub にアクセスし、右上のメニューから「Preferences」をクリックして「Preferences and Settings」画面を表示します。
「Preferences and Settings」画面中央の「Show API Key」ボタンをクリックするとAPIキーが表示されます。
上記設定が完了しましたら接続のテストを行います。問題がなければ、BigQuery の際と同手順で、BigQuery 側の取得条件の設定 ~ kintone のアプリ設定、XML Map の設定などを行ってください。
ジョブを実行した結果は以下のように kintone 側のアプリに正しく連携されているのが確認できます。
事前にkintoneのデータを削除する方法
kintone のコネクタを2つ作成します。完成内容は以下のイメージです。
1つ目(kintone-deldata)は kintone からデータを取得する内容なので、先ほど作成したものと同じ内容となります。では、2つ目(kintone-del2)についてです。まずはインプットタブをクリックし、「kintone-deldata」で取得した内容を定義します。
その後、わかりずらいですが、赤枠部分にカーソルを当てると Code と表示されますのでクリックします。
以下の内容を赤枠部分に設定します。
operation="delete" deleteQuery="DELETE FROM `SQLServer-Replicate`"
これで設定が完了です。
あとは「kintone-deldata」を実行すると、毎回kintone の「SQLServer-Replicate」アプリの全データを削除しますので、他のジョブを実行する前に行うことで、データの入れ替えを行うことができます。
最後に
ノーコードで複数のデータソースから kintone に連携することができました。kintone 以外にも CData のコネクタを組み合わせることで、様々な連携先を指定することができますので、是非お試しください。
関連コンテンツ