こんにちは、エンジニアの宮本です。
前回の記事では、Create!Form と CData ODBC Driver を組み合わせて kintone データをPDF出力してみました。
上記方法ではデータを保持する必要がない分、都度 kintone に接続するようになります。
今回は RDB に定期的に SaaS データをレプリケートできる CData Sync を使って、Create!Formからは RDB にアクセスしながらも kintone データをPDF出力できる方法をご紹介いたします。 (以下、赤枠部分の構成です)
CData Sync とは
https://www.cdata.com/jp/
クラウドサービスからデータベースへのノーコードレプリケートアプリケーションになります。レプリケートとは同期するという意味になりますので、CDataSync から接続できるクラウドサービスのデータをデータベースにまるっとコピーすることができます。
機能の特徴としては、接続先が豊富なことが挙げられます。連携先に主要な RDB をはじめ、クラウドDWH( BigQuery や RedShift など) や CSV、Access といったところまでをサポートしています。また一部のデータソースにおいては差分更新も可能です。
Create!Form から SQLServer への接続で kintone データを出力する構成
今回は CData Sync、SQLServer、Create!Form がローカルマシンにある構成となります。kintone への接続、SQLServer へのレプリケートは CData Sync が行うため、Create!Form から SaaS へのアクセスは行いません。
この構成のメリットは、CData Sync が SaaS → RDB への連携を担うので、Create!Form は使い慣れた RDB への接続だけで良いという点です。つまりは、これまで RDB をデータソースにした構成を組んでいた場合、特に帳票アプリケーション側を変更することなく SaaS データを利用することができることになります。
必要なもの
- CDataSync
- kintone アカウント
- SQLServer
手順
本記事での Create!Form 上の作業は、帳票レイアウトへのデータマッピングからとなります。Create!Form マネージャーや帳票レイアウトの準備は、前回のODBCを使用した記事をご参照ください。
https://www.cdatablog.jp/entry/2020/06/23/161808
CData Sync のインストール
以下リンクよりCData Sync をダウンロードします。
https://www.cdata.com/jp/sync/
なお、CData Sync はWindows版、Java版、AMI版と3種類存在しますが、今回はWindows版を使用します。
ダウンロードしたインストーラーを実行します。基本的にデフォルトのまま次へと進んでしまって構いません。
以上でCData Sync のインストールが完了しました。
続いて、kintone への接続設定を行います。
kintone と SQLServer への接続設定
kintone への接続設定
まずは接続設定を行います。ヘッダーメニューの「接続」から接続画面を表示 → データソースタブから kintone アイコンをクリックし、以下の画面が表示されるので kintone のアカウント情報を入力します。
※データソース一覧に kintone のアイコンがない場合は、「+Add More」からインストールすることができます。
SQLServer への接続設定
こちらも同じように接続設定を行いますが、データソースタブではなく、同期先タブより SQLServer のアイコンをクリックし、接続情報を入力します。
kintone のデータを SQLServer へレプリケートするジョブを作成
CData Sync のTOP画面にて「ジョブを追加」から以下の内容を選択して作成します。
テーブルを追加ボタンを実行すると、kintone上にあるアプリが一覧として表示されます。前回の記事同様に顧客管理(営業支援パック)を選択します。
画面に戻ると自動的にクエリが設定されますが、クエリ内容は自由に書き替えることができます。
なお、テーブルを選択すると以下のようなクエリがセットされますが、顧客管理(営業支援パック)の全件を SQLServer に顧客管理(営業支援パック)というテーブル名で作成するという内容になります。
REPLICATE [顧客管理(営業支援パック)]
レプリケートジョブの実行
作成したクエリにチェックを入れ、実行ボタンをクリックします。レプリケートが完了すると最終更新日時とステータスが表示されます。
では、実際に顧客管理(営業支援パック)テーブルが作成されたかどうかを確認します。
SSMS で SQLServer を開き、対象の DB に顧客管理(営業支援パック)テーブルがあるのを確認したら、SELECT を実行してレコードを表示してみます。
レプリケートジョブのスケジューリング設定
スケジュールタブをクリックすると以下の画面が表示されるので、ジョブを自動的に実行させたいタイミングをここで設定することができます。
ここまでが kintone データをローカルの SQLServer にレプリケートするまでの設定になります。
SQLServer の ODBC DSN の設定
Create!Form から SQLServer にアクセスするには SQLServerのドライバーを使用します。追加ボタン → SQLServer → 完了をクリックします。
接続先を指定し完了ボタンをクリック後、データソースのテストを行いOKボタンで作成が完了です。
帳票レイアウトへのデータマッピング
最初に先ほど作成した ODBC DSN をCreate!Form のデータソースとして登録を行います。設定 → データソースをクリックします。
先ほど作成した SQLServer へ接続するための ODBC DSN 名をデータソース項目に入力し、登録ボタンをクリックします。
次に SQLSever のデータを帳票にマッピングする設定を行っていきます。対象帳票を選択しながらデータマップ編集をクリックします。
DatamapエディターでDB接続を行ったあと、前回の記事 と同じクエリでSQLServer へ SELECT を実行します。
SQL実行後は、こちらも前回同様に対象カラムを帳票の項目にマッピングします。設定方法は全く同じなので省略します。
帳票プレビュー
それでは、作成した帳票を選択しながら実行ボタンをクリックし、データソースにSQLServer を選択した状態でプレビューをクリックします。
このように、kintone に直接アクセスしていなくても、ODBC接続したときと同じ内容のデータを帳票として出力させることができました。
おまけ(連携対象の SaaS を追加したい場合)
kintone だけではなく、他の SaaS データも SQLServer に取込みたい!というような場合には、CData Sync での設定だけで追加連携が可能です。
例えば、Sansan のデータを追加で連携したい場合、CData Sync の接続設定画面から Sansan アイコンをクリックします。(なければ右下のAdd More よりコネクタの追加)
kintone 同様に接続設定を行います。
最後にテーブルを選択し、ジョブを実行するだけでkintone データが入っているSQLServer へ Sansan のデータが連携されました。
個人情報のため大半をぼかしているため何のデータかわかりずらいですが、Sansan に登録されているデータが SQLServer に格納されました。
さいごに
いかがでしたでしょうか。CData Sync を使うことにより、データ収集部分のコストを大幅にカットしながらも SaaS データを利用することが確認できたと思います。Create!Form からさまざまな SaaS データを出力したい場合は、CData Sync での構成、もしくはODBC Driver での構成でお試しいただければと思います。 https://www.cdata.com/jp/sync/
Create!Form × CData kintone ODBC Driver でのPDF出力手順はこちらの記事をご参照ください。