Discover how a bimodal integration strategy can address the major data management challenges facing your organization today.
Get the Report →Query HCL Domino Data through ODBC in Node.js
Use node-odbc to execute SQL queries against HCL Domino 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 HCL Domino, you can access live HCL Domino 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 HCL Domino data.
With built-in optimized data processing, the CData ODBC Driver offers unmatched performance for interacting with live HCL Domino data in Node.js. When you issue complex SQL queries from Node.js to HCL Domino, the driver pushes supported SQL operations, like filters and aggregations, directly to HCL Domino and utilizes the embedded SQL engine to process unsupported operations client-side (often SQL functions and JOIN operations).
Connecting to HCL Domino 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.
Prerequisites
The connector requires the Proton component to be installed. Normally, Proton is distributed as part of the AppDev pack. See the HCL documentation for instructions on acquiring and installing Proton or the AppDev pack.
Once the Proton service is installed and running, you will also need to create a user account and download its Internet certificate. This certificate can be used to set the connector certificate connection properties.
Authenticating to Domino
- Server: The name or IP address of the server running Domino with the Proton service.
- Port: The port number that the Proton service is listening on.
- Database: The name of the database file, including the .nsf extension.
- SSLClientCertType: This must match the format of the certificate file. Typically this will be either PEMKEY_FILE for .pem certificates or PFXFILE for .pfx certificates.
- SSLClientCert: The path to the certificate file.
- SSLServerCert: This can be set to (*) if you trust the server. This is usually the case, but if you want to perform SSL validation, you may provide a certificate or thumbprint instead. See the documentation for SSLServerCert for details.
Additional Server Configuration
The connector supports querying Domino views if any are defined. Before views can be queried by the connector they must be registered with the design catalog.
Please refer to the Catalog Administration section of the AppDev pack documentation for details on how to do this.
Building node-odbc
In order to connect to HCL Domino 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 HCL Domino from Node.js
With the ODBC Driver installed, a DSN Configured, and node-odbc built, we are ready to query live HCL Domino data from a Node.js app. The sample code below connects to a specific DSN and queries the ByName table.
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();
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 HCL Domino and start working with your live HCL Domino data in Node.js. Reach out to our Support Team if you have any questions.