Node.js からKintone データをSQL Server データベースとしてクエリ

製品をチェック

CData Connect Cloud の詳細情報はこちら。無償トライアルはこちら:

  無償トライアル

データ連携でお困りですか?

お問い合わせ

Node.js からKintone データにSQL Server クエリを実行します。


Connect Cloud

CData Connect Cloud を使用すると、SQL Server インターフェース経由でKintone データをクエリできます。以下のステップに従って、Connect Cloud にKintone の仮想データベースを作成し、Node.js を使用してクエリを実行します。

CData Connect Cloud は、Kintone のピュアMySQL かつクラウドベースのインターフェースを提供し、ネイティブにサポートされているデータベースにデータを複製することなくNode.js からの手軽なリアルタイムKintone データクエリを実現します。Node.js でデータをクエリすると、CData Connect Cloud はサポートされているすべてのSQL 操作(フィルタ、JOIN など)を直接Kintone にプッシュし、サーバー側の処理を活用してKintone データを高速で返します。

Connect Cloud からKintone に接続する

CData Connect Cloud は直感的なクリック操作ベースのインターフェースを使ってデータソースに接続します。
  1. Connect Cloud にログインし、 Add Connection をクリックします。
  2. Add Connection パネルから「Kintone」を選択します。
  3. 必要な認証情報を入力し、Kintone に接続します。

    kintone に接続するには、User およびPassword を設定します。さらに、URL を設定します。例:https://yoursitename.cybozu.com またはhttps://yoursitename.kintone.com。

    kintone セキュアアクセスについては追加プロパティが必要です。製品ドキュメントの「はじめに」の項をご覧ください。

  4. Create & Test をクリックします。
  5. Edit Kintone Connection ページのPermissions タブに移動し、ユーザーベースのアクセス許可を更新します。

パーソナルアクセストークンを追加する

OAuth 認証をサポートしないサービス、アプリケーション、プラットフォーム、フレームワークから接続する場合、パーソナルアクセストークン(PAT)を認証に使用できます。きめ細かくアクセスを管理するために、サービスごとに個別のPAT を作成するのがベストプラクティスです。

    1. User Profile ページでPersonal Access Token セクションにスクロールし、 Create PAT をクリックします。
    2. PAT の名前を入力して Create をクリックします。
    3. パーソナルアクセストークンは作成時にしか表示されないため、必ずコピーして安全に保存してください。

    接続が設定されたら、Node.js からKintone データに接続できるようになります。

    Node.js からKintone をクエリ

    以下の例は、SQL Server モジュールを使用してKintone へのクエリを実行する方法を説明しています。以下の情報が必要です。

    • servertds.cdata.com
    • port:14333
    • user:Connect Cloud ユーザー(例:user@mydomain.com)
    • password:上記のユーザーのPAT
    • database:Kintone 用に構成した接続(Kintone1)

    以下のコードで、Kintone に接続してクエリが実行できます。

    var sql = require('mssql')
    var config = {
    	server: 'tds.cdata.com',
    	port:14333, 
    	user: 'user@mydomain.com', //update me
    	password:'CONNECT_USER_PAT', //update me	
    	options: {
    		encrypt: true,
    		database: 'Kintone1'
    	}
    }
    
    sql.connect(config, err => { 
        if(err){
            throw err ;
        }
        new sql.Request().query('SELECT * FROM Comments', (err, result) => {
            console.dir(result)
        })
            
    });
    
    sql.on('error', err => {
        console.log("SQL Error: " ,err);
    })