製品をチェック

無償トライアル:

無償トライアルへ

製品の情報と無償トライアルへ:

Cosmos DB ODBC Driver

使いやすいUnix 用Cosmos DB ODBC Driver。Unicode 対応32ビットおよび64ビットODBC。

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

お問い合わせ

ODBC を介してNode.js からCosmos DB データをクエリ


node-odbc を使用して、Node.js からCosmos DB データへのSQL クエリを実行します。


古川えりか
コンテンツスペシャリスト

cosmosdb ロゴ画像

ODBC Driver

odbc ロゴ画像
NodeJS ロゴ画像

Node.js はブラウザ上以外でJavaScript コードを使用できるJavaScript ランタイム環境です。CData ODBC Driver for CosmosDB を使用すれば、Node.js アプリとスクリプトから、ライブCosmos DB データにアクセスできます。この記事ではnode-odbc のインストールと、ライブCosmos DB データへのアクセスが可能な、シンプルなNode.js アプリケーションを作成するために必要なツールについて説明します。

ビルトインの最適化されたデータ処理により、CData ODBC Driver は比類のないパフォーマンスで、Node.js のライブCosmos DB データとやりとりできます。Node.js からCosmos DB に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をCosmos DB に直接プッシュし、組み込まれたSQL エンジンを利用してサポートされていない操作(主にSQL 関数とJOIN 操作)をクライアント側で処理します。

Cosmos DB データに接続する

必要な接続プロパティの値が未入力の場合には、データソース名(DSN)で入力します。組み込みのMicrosoft ODBC Data Source Administrator を使用し、DSN を構成できます。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定する方法は、ヘルプドキュメントの「はじめに」を参照してください。

SQL API を使ってCosmos DB アカウントに接続するために必要な接続文字列を取得するには、Azure Portal にログインして「Azure Cosmos DB」を選択し、自分のアカウントを選択します。「Settings」セクションで、「Connection String」をクリックして次の値を設定します。

  • AccountEndpoint: 値は、Cosmos DB アカウントの「Keys」ブレードからのCosmos DB アカウントURL である必要があります。
  • AccountKey: Azure ポータルで、Cosmos DB サービスに移動してAzure Cosmos DB アカウントを選択します。リソースメニューから、 「Keys」ページに移動します。「PRIMARY KEY」値を見つけ、Token をこの値に設定します。

node-odbc を構築する

CData ODBC Driver を介してCosmos DB に接続するには、必要なツールをインストールした後に、node-odbc を手動で構築する必要があります。

必要なツールをインストールする

以下のコマンドでは、node-odbc の構築に必要なツールをインストールします。(ツールをグローバルにインストールする-g パラメータに注意してください。)

npm i -g windows-build-tools
npm i -g node-gyp

node-odbc を構築する

必要なツールをインストールしたらNode.js アプリケーションのディレクトリを作成し、Node.js スクリプトで使用するバイナリを構築するodbc をインストールします。

mkdir nodeodbc
cd nodeodbc
npm i -g node

Node.js からCosmos DB をクエリ

ODBC Driver がインストールされ、DSN が構成されて、node-odbc が構築されたら、Node.js アプリケーションからライブCosmos DB データをクエリすることができるようになります。以下のサンプルコードは、特定のDSN に接続してCustomers テーブルをクエリします。

myscript.js

const odbc = require('odbc');

async function queryCosmosDB() {
    const connection = await odbc.connect(`DSN=CData CosmosDB Source`);
    const data = await connection.query('SELECT City, CompanyName FROM Customers');
    console.log(data);
}

queryCosmosDB();

アプリケーションを作成したら、node を使用してスクリプトを実行します。

node myscript.js
Sample program results (Salesforce is shown.

CData ODBC Driver for CosmosDB の30日の無償評価版 をダウンロードすればNode.js でライブCosmos DB データを使用できます。ご不明な点があれば、サポートチームにお問い合わせください。