Model Context Protocol (MCP) finally gives AI models a way to access the business data needed to make them really useful at work. CData MCP Servers have the depth and performance to make sure AI has access to all of the answers.
Try them now for free →Query Microsoft Dataverse Data through ODBC in Node.js
Use node-odbc to execute SQL queries against Microsoft Dataverse data from Node.js.
Node.js is a JavaScript runtime environment that allows you to run JavaScript code outside of a browser. With the CData ODBC Driver for Microsoft Dataverse, you can access live Microsoft Dataverse data from Node.js apps and scripts. In this article, we walk through installing node-odbc and the required tools to create a simple Node.js app with access to live Microsoft Dataverse data.
With built-in optimized data processing, the CData ODBC Driver offers unmatched performance for interacting with live Microsoft Dataverse data in Node.js. When you issue complex SQL queries from Node.js to Microsoft Dataverse, the driver pushes supported SQL operations, like filters and aggregations, directly to Microsoft Dataverse and utilizes the embedded SQL engine to process unsupported operations client-side (often SQL functions and JOIN operations).
About Microsoft Dataverse Data Integration
CData provides the easiest way to access and integrate live data from Microsoft Dataverse (formerly the Common Data Service). Customers use CData connectivity to:
- Access both Dataverse Entities and Dataverse system tables to work with exactly the data they need.
- Authenticate securely with Microsoft Dataverse in a variety of ways, including Azure Active Directory, Azure Managed Service Identity credentials, and Azure Service Principal using either a client secret or a certificate.
- Use SQL stored procedures to manage Microsoft Dataverse entities - listing, creating, and removing associations between entities.
CData customers use our Dataverse connectivity solutions for a variety of reasons, whether they're looking to replicate their data into a data warehouse (alongside other data sources)or analyze live Dataverse data from their preferred data tools inside the Microsoft ecosystem (Power BI, Excel, etc.) or with external tools (Tableau, Looker, etc.).
Getting Started
Connecting to Microsoft Dataverse Data
If you have not already done so, provide values for the required connection properties in the data source name (DSN). You can use the built-in Microsoft ODBC Data Source Administrator to configure the DSN. This is also the last step of the driver installation. See the "Getting Started" chapter in the help documentation for a guide to using the Microsoft ODBC Data Source Administrator to create and configure a DSN.
You can connect without setting any connection properties for your user credentials. Below are the minimum connection properties required to connect.
- InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to avoid repeating the OAuth exchange and manually setting the OAuthAccessToken.
- OrganizationUrl: Set this to the organization URL you are connecting to, such as https://myorganization.crm.dynamics.com.
- Tenant (optional): Set this if you wish to authenticate to a different tenant than your default. This is required to work with an organization not on your default Tenant.
When you connect the Common Data Service OAuth endpoint opens in your default browser. Log in and grant permissions. The OAuth process completes automatically.
Building node-odbc
In order to connect to Microsoft Dataverse through the CData ODBC Driver, you need to build node-odbc manually (after installing the required tools).
Installing the Required Tools
The following commands install the tools required to build node-odbc (note the -g parameter, which installs the tools globally).
npm i -g windows-build-tools npm i -g node-gyp
Building node-odbc
After installing the required tools, create a directory for the Node.js app and install odbc (which builds the binary for us to use in our Node.js script).
mkdir nodeodbc cd nodeodbc npm i -g node
Querying Microsoft Dataverse from Node.js
With the ODBC Driver installed, a DSN Configured, and node-odbc built, we are ready to query live Microsoft Dataverse data from a Node.js app. The sample code below connects to a specific DSN and queries the Accounts table.
myscript.js
const odbc = require('odbc'); async function queryCDS() { const connection = await odbc.connect(`DSN=CData CDS Source`); const data = await connection.query('SELECT AccountId, Name FROM Accounts'); console.log(data); } queryCDS();
Once you write the app, use node to execute the script:
node myscript.js

Download a free, 30-day trial of the CData ODBC Driver for Microsoft Dataverse and start working with your live Microsoft Dataverse data in Node.js. Reach out to our Support Team if you have any questions.