各製品の資料を入手。
詳細はこちら →ODBC を介してNode.js からDynamics 365 のデータをクエリ
node-odbc を使用して、Node.js からDynamics 365 のデータへのSQL クエリを実行します。
最終更新日:2022-01-09
この記事で実現できるDynamics 365 連携のシナリオ
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
Node.js はブラウザ上以外でJavaScript コードを使用できるJavaScript ランタイム環境です。CData ODBC Driver for Dynamics365 を使用すれば、Node.js アプリとスクリプトから、リアルタイムDynamics 365 のデータにアクセスできます。この記事ではnode-odbc のインストールと、リアルタイムDynamics 365 のデータへのアクセスが可能な、シンプルなNode.js アプリケーションを作成するために必要なツールについて説明します。
ビルトインの最適化されたデータ処理により、CData ODBC Driver は比類のないパフォーマンスで、Node.js のリアルタイムDynamics 365 のデータとやりとりできます。Node.js からDynamics 365 に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をDynamics 365 に直接プッシュし、組み込まれたSQL エンジンを利用してサポートされていない操作(主にSQL 関数とJOIN 操作)をクライアント側で処理します。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
- Dynamics 365 をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
- 多様なアプリケーション、ツールにDynamics 365 のデータを連携
- ノーコードでの手軽な接続設定
- 標準 SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてDynamics 365 の接続を設定、2.Node.js 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとDynamics 365 への接続設定
まずは、本記事右側のサイドバーからDynamics365 ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
必要な接続プロパティの値が未入力の場合には、データソース名(DSN)で入力します。組み込みのMicrosoft ODBC Data Source Administrator を使用し、DSN を構成できます。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定する方法は、ヘルプドキュメントの「はじめに」を参照してください。
Dynamics 365 接続プロパティの取得・設定方法
Microsoft Dynamics 365 への接続
Microsoft Dynamics 365 ドライバーは、以下のMicrosoft Dynamics 365 エディションへの接続をサポートしています。
- CustomerService
- FieldService
- FinOpsOnline (デフォルト)
- FinOpsOnPremise
- HumanResources
- Marketing
- ProjectOperations
- Sales
Notes:
- Supply Chain Management はFinance and Operations と同一です。これらのいずれかに接続するには、Edition をFinOpsOnline またはFinOpsOnPremise のいずれかに設定します。
- Microsoft Dynamics 365 Business Central については、個別のMicrosoft Dynamics 365 Business Central ドライバーを使用してください。
- OrganizationUrl:お使いのMicrosoft Dynamics 365 組織のURL。例えば、https://orgcb42e1d0.crm.dynamics.com。
- Edition:上記のエディション一覧に示すとおり。
Microsoft Dynamics 365 への認証
Microsoft Dynamics 365 は、Azure AD、Azure サービスプリンシパル、Azure マネージドID(MSI)を経由する認証をサポートします。これらはすべてOAuth 規格に基づきます。 認証方法の詳細は、ヘルプドキュメントを参照してください。
node-odbc を構築する
CData ODBC Driver を介してDynamics 365 に接続するには、必要なツールをインストールした後に、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 からDynamics 365 をクエリ
ODBC Driver がインストールされ、DSN が構成されて、node-odbc が構築されたら、Node.js アプリケーションからリアルタイムDynamics 365 のデータをクエリすることができるようになります。以下のサンプルコードは、特定のDSN に接続してGoalHeadings テーブルをクエリします。
myscript.js
const odbc = require('odbc'); async function queryDynamics365() { const connection = await odbc.connect(`DSN=CData Dynamics365 Source`); const data = await connection.query('SELECT GoalHeadingId, Name FROM GoalHeadings'); console.log(data); } queryDynamics365();
アプリケーションを作成したら、node を使用してスクリプトを実行します。
node myscript.js

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