ODBC を介してNode.js からHCL Domino のデータをクエリ

古川えりか
古川えりか
コンテンツスペシャリスト
node-odbc を使用して、Node.js からHCL Domino のデータへのSQL クエリを実行します。

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

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

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。

  1. HCL Domino をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
  2. 多様なアプリケーション、ツールにHCL Domino のデータを連携
  3. ノーコードでの手軽な接続設定
  4. 標準 SQL での柔軟なデータ読み込み・書き込み

CData ODBC ドライバでは、1.データソースとしてHCL Domino の接続を設定、2.Node.js 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとHCL Domino への接続設定

まずは、本記事右側のサイドバーからDomino ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

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

Domino への接続

それでは、Domino のデータに接続していきましょう。接続するには、以下のプロパティを設定してください。

  • URL:Domino データベースをホスティングしているサーバーのホスト名またはIP アドレス。Domino データベースをホスティングしているサーバーのポートを含めます。例:http://sampleserver:1234/
  • DatabaseScope:Domino Web UI でのスコープ名。CData 製品は、指定されたスコープに適合するスキーマのフォームとビューを公開します。Domino Admin UI で、サイドバーのScopes メニューを選択してください。このプロパティを既存のスコープ名に設定します

Domino での認証

続いて、認証方法を設定しましょう。Domino では、ログインクレデンシャル(OAuthPassword)またはMicrosoft Entra ID(AzureAD)のいずれかによる認証をサポートしています。

ログインクレデンシャル

ログインクレデンシャルで認証するには、以下のプロパティを設定してください:

  • AuthSchemeOAuthPassword
  • User:認証するDomino ユーザーのユーザー名
  • Password:認証するDomino ユーザーに関連付けられたパスワード

ドライバーがログインクレデンシャルを使用して、自動的にOAuth トークン交換を実行します。

Microsoft Entra ID(Azure AD)

この認証方法は、Azure Active Directory をIdP として使用してJWT トークンを取得します。Azure Active Directory にカスタムのアプリケーションを作成し、それをIdP として設定する必要があります。詳しい手順については、ヘルプドキュメントの指示に従ってください。その後、以下のプロパティを設定します。

  • AuthSchemeAzureAD
  • InitiateOAuth:これをGETANDREFRESH に設定します。InitiateOAuth を使用すると、OAuth 交換の繰り返しやOAuthAccessToken の手動設定を避けることができます
  • OAuthClientId:カスタムAzure AD アプリケーションの作成時に取得したクライアントID
  • OAuthClientSecret:カスタムAzure AD アプリケーションの作成時に取得したクライアントシークレット
  • CallbackURL:カスタムAzure AD アプリケーションの登録時に指定されたリダイレクトURI。例えば、https://localhost:33333
  • AzureTenant:データにアクセスするために使用されるMicrosoft Online テナント。companyname.microsoft.com 形式の値またはテナントID のいずれかを指定してください

テナントID は、Azure ポータルのAzure Active Directory > プロパティページに表示されているディレクトリID と同じです。

node-odbc を構築する

CData ODBC Driver を介してHCL Domino に接続するには、必要なツールをインストールした後に、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 からHCL Domino をクエリ

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

myscript.js

const odbc = require('odbc');

async function queryDomino() {
    const connection = await odbc.connect(`DSN=CData Domino Source`);
    const data = await connection.query('SELECT Name, Address FROM ByName');
    console.log(data);
}

queryDomino();

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

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

おわりに

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

はじめる準備はできましたか?

HCL Domino ODBC Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

HCL Domino Icon HCL Domino ODBC Driver お問い合わせ

HCL Domino ODBC Driver を使って、ODBC 接続をサポートする多様なツールからHCL Domino にデータ連携。

DB のようにHCL Domino データへODBC インターフェースでアクセス可能に。