Help us understand the problem. What is going on with this article?

kintone データをDB に同期(キャッシュ)する方法

More than 1 year has passed since last update.

はじめに

kintone データをDB にバックアップしておくニーズがあります。
・バックアップ
・DB に入れておいて他のアプリやBI から利用

kintone データをDB に入るようにスキーマ化を行うCData ODBC Driver for kintone のキャッシュ機能を使って、SQL Server にkintone の任意のアプリを同期する方法を説明します。

image.png

利用する環境・アプリ

・Windows 10
・SQL Server 2017 + SQL Server Management Studio
・kintone (評価版あり)kintone評価版アカウント取得、および、サンプルアプリケーションの作成方法
CData ODBC Driver for kintone(評価版あり)
・Visual Studio

同期先のデータベースの作成

SQL Server に新しいデータベースを作っておきます。

この記事では、データベースの認証は「SQL Server 認証モードとWindows 認証モード(S)」にします。
image.png

オブジェクトエクスプローラーで「データベース」→「新しいデータベース」。
image.png

名前は何でもいいので、test としておきます。
image.png

ODBC Driver for kintone のインストールとkintone 接続

ODBC Driver for kintone のインストール

https://www.cdata.com/jp/drivers/kintone/odbc/ からODBC Driver をダウンロードします。30日の無償版があります。
image.png

.exe ファイルをクリックして、インストーラーを起動し、インストールを行います。
image.png

kintone Driver のDSN 設定

インストールを完了するとkintone Driver のDSN 構成画面が開きます。

URL、User、Password はkintone に接続するためのプロパティです。
Cache Connection、Cache Provider はキャッシュ先DB の指定のためのプロパティです。

プロパティ 内容
Url kintone のURL
User kintone のユーザー名
Password kintone のパスワード
Cache Connection 以下参照
Cache Provider SQL Server ではSystem.Data.SqlClient

Cache Connection はセミコロン区切りで、以下の情報を入れます。

Server=server name;Database=database name;User ID=your id;Password=password;

image.png

Visual Studio からキャッシュを実行

Visual Studio のサーバーエクスプローラーから「データ接続」を右クリックして「接続の追加」を選択します。
image.png

データソース選択画面で「Microsoft ODBC データソース」を選択します。
image.png

接続の追加で、「CData Kintone Source Sys」を選択します。ログイン情報は不要です。
「テスト接続」をクリックして接続を確認します。接続できていれば、「OK」を押して接続を確立します。
image.png

サーバーエクスプローラーには、「ODBC.Kintone.CData」というコネクションができています。
展開するとkintone のアプリがそれぞれテーブルとして並んでいます。kintone アプリ内のフィールドはテーブルのカラムになっています。このkintone オブジェクトには通常のSQL で操作することができます。

今回は、キャッシュなので、以下のキャッシュコマンドを作成し、実行します。

実行時にクエリテキストエラーが出ても気にせず続行してください。

CACHE SELECT * FROM "Target Table"

image.png

キャッシュ結果をSQL Server で確認

test データベースの下にkintone の選択したアプリが同期されています。

image.png

(おわり)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした