CData Software Blog

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

Create!FormからSQLServerへの接続だけでSaaSデータを出力する方法:CData Sync

こんにちは、エンジニアの宮本です。
前回の記事では、Create!Form と CData ODBC Driver を組み合わせて kintone データをPDF出力してみました。

www.cdatablog.jp

上記方法ではデータを保持する必要がない分、都度 kintone に接続するようになります。

今回は RDB に定期的に SaaS データをレプリケートできる CData Sync を使って、Create!Formからは RDB にアクセスしながらも kintone データをPDF出力できる方法をご紹介いたします。 (以下、赤枠部分の構成です)
f:id:sennanvolar44:20200617143645p:plain

CData Sync とは

f:id:sennanvolar44:20200501163232p:plain
https://www.cdata.com/jp/
クラウドサービスからデータベースへのノーコードレプリケートアプリケーションになります。レプリケートとは同期するという意味になりますので、CDataSync から接続できるクラウドサービスのデータをデータベースにまるっとコピーすることができます。

機能の特徴としては、接続先が豊富なことが挙げられます。連携先に主要な RDB をはじめ、クラウドDWH( BigQuery や RedShift など) や CSVAccess といったところまでをサポートしています。また一部のデータソースにおいては差分更新も可能です。
f:id:sennanvolar44:20200501174346p:plain

Create!Form から SQLServer への接続で kintone データを出力する構成

f:id:sennanvolar44:20200617143811p:plain
今回は CData Sync、SQLServer、Create!Form がローカルマシンにある構成となります。kintone への接続、SQLServer へのレプリケートは CData Sync が行うため、Create!Form から SaaS へのアクセスは行いません。

この構成のメリットは、CData Sync が SaaSRDB への連携を担うので、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版を使用します。
f:id:sennanvolar44:20200503013133p:plain

ダウンロードしたインストーラーを実行します。基本的にデフォルトのまま次へと進んでしまって構いません。
f:id:sennanvolar44:20200503013558p:plain

以上でCData Sync のインストールが完了しました。
続いて、kintone への接続設定を行います。

kintone と SQLServer への接続設定

kintone への接続設定
まずは接続設定を行います。ヘッダーメニューの「接続」から接続画面を表示 → データソースタブから kintone アイコンをクリックし、以下の画面が表示されるので kintone のアカウント情報を入力します。
※データソース一覧に kintone のアイコンがない場合は、「+Add More」からインストールすることができます。

f:id:sennanvolar44:20200609112852p:plain

SQLServer への接続設定
こちらも同じように接続設定を行いますが、データソースタブではなく、同期先タブより SQLServer のアイコンをクリックし、接続情報を入力します。

f:id:sennanvolar44:20200609113157p:plain

kintone のデータを SQLServer へレプリケートするジョブを作成

CData Sync のTOP画面にて「ジョブを追加」から以下の内容を選択して作成します。
f:id:sennanvolar44:20200609114244p:plain

テーブルを追加ボタンを実行すると、kintone上にあるアプリが一覧として表示されます。前回の記事同様に顧客管理(営業支援パック)を選択します。
f:id:sennanvolar44:20200609113905p:plain

画面に戻ると自動的にクエリが設定されますが、クエリ内容は自由に書き替えることができます。
なお、テーブルを選択すると以下のようなクエリがセットされますが、顧客管理(営業支援パック)の全件を SQLServer に顧客管理(営業支援パック)というテーブル名で作成するという内容になります。

REPLICATE [顧客管理(営業支援パック)]

レプリケートジョブの実行

作成したクエリにチェックを入れ、実行ボタンをクリックします。レプリケートが完了すると最終更新日時とステータスが表示されます。
f:id:sennanvolar44:20200609114621p:plain

では、実際に顧客管理(営業支援パック)テーブルが作成されたかどうかを確認します。
SSMS で SQLServer を開き、対象の DB に顧客管理(営業支援パック)テーブルがあるのを確認したら、SELECT を実行してレコードを表示してみます。
f:id:sennanvolar44:20200609115445p:plain

レプリケートジョブのスケジューリング設定

スケジュールタブをクリックすると以下の画面が表示されるので、ジョブを自動的に実行させたいタイミングをここで設定することができます。
f:id:sennanvolar44:20200609120721p:plain
ここまでが kintone データをローカルの SQLServer にレプリケートするまでの設定になります。

SQLServerODBC DSN の設定

Create!Form から SQLServer にアクセスするには SQLServerのドライバーを使用します。追加ボタン → SQLServer → 完了をクリックします。
f:id:sennanvolar44:20200609132837p:plain

接続先を指定し完了ボタンをクリック後、データソースのテストを行いOKボタンで作成が完了です。
f:id:sennanvolar44:20200609133852p:plain

帳票レイアウトへのデータマッピング

最初に先ほど作成した ODBC DSN をCreate!Form のデータソースとして登録を行います。設定 → データソースをクリックします。
f:id:sennanvolar44:20200609140603p:plain

先ほど作成した SQLServer へ接続するための ODBC DSN 名をデータソース項目に入力し、登録ボタンをクリックします。
f:id:sennanvolar44:20200609141056p:plain

次に SQLSever のデータを帳票にマッピングする設定を行っていきます。対象帳票を選択しながらデータマップ編集をクリックします。
f:id:sennanvolar44:20200609134816p:plain

DatamapエディターでDB接続を行ったあと、前回の記事 と同じクエリでSQLServer へ SELECT を実行します。
f:id:sennanvolar44:20200609153915p:plain

SQL実行後は、こちらも前回同様に対象カラムを帳票の項目にマッピングします。設定方法は全く同じなので省略します。

帳票プレビュー

それでは、作成した帳票を選択しながら実行ボタンをクリックし、データソースにSQLServer を選択した状態でプレビューをクリックします。

f:id:sennanvolar44:20200609160714p:plain

このように、kintone に直接アクセスしていなくても、ODBC接続したときと同じ内容のデータを帳票として出力させることができました。
f:id:sennanvolar44:20200609160756p:plain

おまけ(連携対象の SaaS を追加したい場合)

kintone だけではなく、他の SaaS データも SQLServer に取込みたい!というような場合には、CData Sync での設定だけで追加連携が可能です。

例えば、Sansan のデータを追加で連携したい場合、CData Sync の接続設定画面から Sansan アイコンをクリックします。(なければ右下のAdd More よりコネクタの追加)

f:id:sennanvolar44:20200609162524p:plain

kintone 同様に接続設定を行います。 f:id:sennanvolar44:20200609163043p:plain

最後にテーブルを選択し、ジョブを実行するだけでkintone データが入っているSQLServer へ Sansan のデータが連携されました。
f:id:sennanvolar44:20200609163340p:plain

個人情報のため大半をぼかしているため何のデータかわかりずらいですが、Sansan に登録されているデータが SQLServer に格納されました。
f:id:sennanvolar44:20200609163955p:plain

さいごに

いかがでしたでしょうか。CData Sync を使うことにより、データ収集部分のコストを大幅にカットしながらも SaaS データを利用することが確認できたと思います。Create!Form からさまざまな SaaS データを出力したい場合は、CData Sync での構成、もしくはODBC Driver での構成でお試しいただければと思います。 https://www.cdata.com/jp/sync/

Create!Form × CData kintone ODBC Driver でのPDF出力手順はこちらの記事をご参照ください。

www.cdatablog.jp