kintoneとSQL Serverで双方向にデータ連携 3つの方法を紹介
本記事はCDataが提供する「CData Software Blog」に掲載された「kintone とSQL Server の間で双方向にデータを連携させる3つの方法」を再編集したものです。
こんにちは。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ひとつですべて実現することができます。
どのような連携ロジックを実現するかは、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