Discover how a bimodal integration strategy can address the major data management challenges facing your organization today.
Get the Report →Connect to HCL Domino Data in Ruby
Connect to HCL Domino data in Ruby with ruby-dbi, dbd-odbc, and ruby-odbc.
The CData ODBC Driver for HCL Domino makes it easy to integrate connectivity to live HCL Domino data in Ruby. This article shows how to create a simple Ruby app that connects to HCL Domino data, executes a query, and displays the results.
Create an ODBC Connection to HCL Domino Data
If you have not already, first specify connection properties in an ODBC DSN (data source name). This is the last step of the driver installation. You can use the Microsoft ODBC Data Source Administrator to create and configure ODBC DSNs.
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.
Installing Ruby and Necessary Gems
If you do not have Ruby installed, refer to the Ruby installation page. With Ruby installed, you will need to install the ruby-dbi, dbd-odbc, and ruby-odbc gems:
gem install dbi
gem install dbd-odbc
gem install ruby-odbc
Create a Ruby App with Connectivity to HCL Domino Data
Create a new Ruby file (for example: DominoSelect.rb) and open it in a text editor. Copy the following code into your file:
#connect to the DSN
require 'DBI'
cnxn = DBI.connect('DBI:ODBC:CData Domino Source','','')
#execute a SELECT query and store the result set
resultSet = cnxn.execute("SELECT Name, Address FROM ByName WHERE City = 'Miami'")
#display the names of the columns
resultSet.column_names.each do |name|
print name, "\t"
end
puts
#display the results
while row = resultSet.fetch do
(0..resultSet.column_names.size - 1).each do |n|
print row[n], "\t"
end
puts
end
resultSet.finish
#close the connection
cnxn.disconnect if cnxn
With the file completed, you are ready to display your HCL Domino data with Ruby. To do so, simply run your file from the command line:
ruby DominoSelect.rb
Writing SQL-92 queries to HCL Domino allows you to quickly and easily incorporate HCL Domino data into your own Ruby applications. Download a free trial today!