Ready to get started?

Learn more about CData Connect Cloud or sign up for free trial access:

Free Trial

Query HCL Domino Data as a SQL Server Database in Node.js



Execute SQL Server queries against HCL Domino data from Node.js.

You can use CData Connect Cloud to query HCL Domino data through a SQL Server interface. Follow the procedure below to create a virtual database for HCL Domino in Connect Cloud and start querying using Node.js.

CData Connect Cloud provides a pure MySQL, cloud-to-cloud interface for HCL Domino, allowing you to easily query live HCL Domino data in Node.js — without replicating the data to a natively supported database. As you query data in Node.js, CData Connect Cloud pushes all supported SQL operations (filters, JOINs, etc) directly to HCL Domino, leveraging server-side processing to quickly return HCL Domino data.

Configure HCL Domino Connectivity for NodeJS

Connectivity to HCL Domino from NodeJS is made possible through CData Connect Cloud. To work with HCL Domino data from NodeJS, we start by creating and configuring a HCL Domino connection.

  1. Log into Connect Cloud, click Connections and click Add Connection
  2. Select "HCL Domino" from the Add Connection panel
  3. Enter the necessary authentication properties to connect to HCL Domino.

    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.

  4. Click Create & Test
  5. Navigate to the Permissions tab in the Add HCL Domino Connection page and update the User-based permissions.

Add a Personal Access Token

If you are connecting from a service, application, platform, or framework that does not support OAuth authentication, you can create a Personal Access Token (PAT) to use for authentication. Best practices would dictate that you create a separate PAT for each service, to maintain granularity of access.

  1. Click on your username at the top right of the Connect Cloud app and click User Profile.
  2. On the User Profile page, scroll down to the Personal Access Tokens section and click Create PAT.
  3. Give your PAT a name and click Create.
  4. The personal access token is only visible at creation, so be sure to copy it and store it securely for future use.

With the connection configured, you are ready to connect to HCL Domino data from Node.js.

Query HCL Domino from Node.js

The following example shows how to define a connection and execute queries to HCL Domino with the SQL Server module. You will need the following information:

  • server: tds.cdata.com
  • port: 14333
  • user: a Connect Cloud user (e.g. user@mydomain.com)
  • password: the PAT for the above user
  • database: The connection you configured for HCL Domino (Domino1)

Connect to HCL Domino data and start executing queries with the code below:

var sql = require('mssql')
var config = {
	server: 'tds.cdata.com',
	port: 14333, 
	user: 'user@mydomain.com', //update me
	password: 'CONNECT_USER_PAT', //update me	
	options: {
		encrypt: true,
		database: 'Domino1'
	}
}

sql.connect(config, err => { 
    if(err){
        throw err ;
    }
    new sql.Request().query('SELECT * FROM ByName', (err, result) => {
        console.dir(result)
    })
        
});

sql.on('error', err => {
    console.log("SQL Error: " ,err);
})