こんにちは。CData Software Japan の色川です。
kintone、業務改善プラットフォームとして人気が高いですよね。kintone を活用する幅が広がるほど、外部のシステムやデータソースと連携させたいシーンも増えますよね。CData にも「kintone と外部データソースの間でデータを連携させたいのですが」の相談を本当に多く頂きます。
なかでも特に多く頂くのが「kintone とSQL Server の間でのデータ連携」です。分かりやすさ・使いやすさを高い水準で実現しているkintone と、エンタープライズDBMS の中でも使いやすさに定評のあるSQL Server は、ユーザビリティを重視するユーザーに好まれる組合せかも知れません。
ひとことで「kintone とSQL Server の間でのデータ連携」と言っても、kintone のデータをSQL Server に連携させたいのか、SQL Server のデータをkintone に連携させたいのか、と言ったデータ連携の「方向」や、データをコピー(取得・保存、同期)したいのか、その時点のデータへダイレクトにアクセスしたいのか、と言った「リアルタイム性」によっても選択肢は異なります。
このように「kintone とSQL Server の間でのデータ連携」と言っても、選択肢が多くて悩ましいですよね。そんな方はこの記事を参考にしてください。
以前、こちらの記事で、kintone データを「SQL Server から」連携して利用する方法として4つご紹介しました。
この記事では、kintone とSQL Server の間で「双方向」に、データを連携させる方法として3つご紹介します。(うち2つは、こちらの記事でもご紹介しています)
良く相談頂くけれど実現出来ないケース(kintone からSQL Server のデータをダイレクトに利用したい)
3つの方法をご紹介する前に、「良く相談頂くけれど実現出来ないケース」について触れておきます。ご相談としては「kintone から外部にあるSQL Server のデータへダイレクトにアクセスしたいのだけど」というモノです。
「方向」と「リアルタイム性」で考えた時、SQL Server からkintone のデータをダイレクトに利用することはできますが、残念ながら、kintone からSQL Server のデータをダイレクトに利用することはできません。
具体的には、kintone では(例えば、Salesforce の外部オブジェクト機能のように)kintone 以外の外部データソース(SQL Server など)に保存されているデータを直接扱うことが出来ません。
kintone のJavaScript カスタマイズ等を利用すれば(JavaScript から外部データソースのAPI をコールしてデータを取得する、などすれば)外部データソースのデータを取得してkintone 上で表示すること自体は出来るかもしれませんが、そうして取得・表示したデータはkintone アプリのデータとしては活用できず、それはおそらくkintone に期待する形ではないと思います(なので、この記事では「出来ません」としています)
kintone からSQL Server などの外部データソースにあるデータを利用したい場合、一度kintone のデータとして取りこむ(インポートする)必要があります。
1. SSIS(SQL Server Integration Service)を利用する方法
SQL Server ユーザーの方は、データ統合にSSIS(SQL Server Integration Services)を利用されている方も多いのではないでしょうか。CData では、SSIS 向けにkintone への連携が可能なkintone SSIS Components を提供しています。
kintone SSIS Components はSSIS から、kintone へ簡単にアクセスできるSSIS 用のコネクタです。SSIS に慣れ親しんだ方は、こちらの方法がオススメです。
どのような連携ロジックを実現するかは、SSIS のデータフローとして設定する形になります。
必要なプロダクト: kintone SSIS Components
SSIS(SQL Server Integration Service)を利用する方法については、こちらの記事が参考にして頂けます。
https://www.cdata.com/jp/blog/sqlserver-ssis-kintone-simple
https://www.cdata.com/jp/blog/sqlserver-ssis-kintone-upsert
https://www.cdata.com/jp/blog/sqlserver-ssis-kintone-split
2. SQL Server Linked Server を利用する方法
SQL Server には他のDB をSQL Server から呼び出せるLinked Server(リンクサーバー)機能が標準で搭載されています。CData kintone ODBC Driver に付属しているSQL Gateway という機能を利用すると、kintone データをSQL ServerのLinked Server としてアクセスできるようになります。
SQL Server のインタフェースでkintone のデータへアクセスできるので、複数の .NET アプリケーションからkintone データを参照したいケースや、SQL Server のデータとkintone のデータをJOIN して利用したいケースなどでは使いやすいと思います。今のkintone データをリアルタイムにクエリできるのも、この方法の利点です。
どのような連携ロジックを実現するかは、SQL Server へのクエリを通じて指定する形になります。
必要なプロダクト: CData ODBC Driver for kintone (Server License)
SQL Server Linked Server を利用する方法については、こちらの記事が参考にして頂けます。
https://www.cdata.com/jp/blog/gateway_kintone_linkedserver_sp
3. CData Arc を利用する方法
CData Arc は、CData 製品の中で「データ連携の自動化」を担うサーバーアプリケーションです。SaaS とのAPI 連携はもちろん、ファイル連携やDB 連携もノーコード・ローコードで自動化することができます。クラウドでもオンプレミスでも場所を選ばず、とかく複雑になりがちなB2B 連携を、これまでよりもっとシンプルに実現することを目指した製品です。
CData Arcは、業界最多級の接続先を誇るCData Drivers をシームレスに利用出来るCData コネクタを備えており、kintone 以外のデータソースにも同じ使用感で数多く対応することができます。
すべてのEdition で共通な強力な連携エンジンを、利用する規模に応じた柔軟なライセンス体系で提供していますので、はじめてデータ連携ツールを使う方や、利用の規模に応じた価格感でローコードツールを利用したい方には最適です。SaaS との連携以外に、オンプレミスとの連携や、ファイル連携のニーズがある場合には、CData Arc 1つですべて実現することができます。
どのような連携ロジックを実現するかは、CData Arc のフローデザイナーで設定する形になります。
必要なプロダクト: CData Arc
CData Arc を利用する方法については、こちらの記事が参考にして頂けます。
https://www.cdata.com/jp/blog/kintone-arcesb-sqlserver
まとめ
この記事では、kintone とSQL Server の間で双方向にデータを連携させる方法として、3つご紹介しました。それぞれの方法は「一律でどれが推奨」ということはありませんので、それぞれの慣れや環境、場面や用途に応じて選択してください。この記事が選択のお役に立てば嬉しいです。
もちろんこの記事で紹介したSSIS やCData Arc 以外に、すでに何らかのデータ連携ツール(EAI/ETL ツールなど)をお持ちの方は、それのツールにきっとJDBC やODBC、ADO.NET などのインタフェースが用意されていると思いますので、CData Drivers と組合せて利用頂ければ、普段慣れているツールでkintone とSQL Server とのデータ連携を簡単に実現頂けると思います。
普段使っているデータ連携ツールからCData kintone Driver を使いたいという方は、こちらのナレッジベースをぜひ参考にしてください。
kintone とSQL Server とのデータ連携を検討される中で何かご不明な点があれば、テクニカルサポートまでお気軽にお問い合わせください。
https://www.cdata.com/jp/support/submit.aspx
関連コンテンツ