The JDBC Access for IBM Lotus Domino (a.k.a. DomSQL) Project exposes Domino data as relational tables and provides easy access to the tables using a JDBC


Important Note 1 : From release 20140829 onwards, the DomSQL project requires a v9.0.1 Domino server (and Domino Designer) that has ExtLib_v901_release7 or later installed. If you are using an earlier server and/or ExtLib configuration, then download an earlier version of the DomSQL project.

Important Note 2 : The provided XPagesDomSQL.nsf demo application requires the XPages RDBMS Enablement project to be installed to the server, more specifically the Apache Derby JDBC driver plugin provided in that project. This can be downloaded from its OpenNTF project page


1. Expand the query capability of Note/Domino (N/D)N/D views already provide a powerful query mechanism, with unique capabilities like categorization, responses… but native N/D views lack some key features like dynamic queries and joins between views. The features Domino views lack are exactly those at which SQL excels

2. Reporting – Data analyticsSQL is the de facto standard used by reporting/data analysis tools. Making N/D data behave like relational data suddenly opens it to a large set of tools that understand JDBC.

As of now, it only does read-only operations on the Domino data. It doesn't allow, for example, relational statements like INSERT, UPDATE or DELETE. Also, rather than write a full SQL engine for Domino, this project uses another very popular open source project called SQLite ( SQLite is a well-known, robust engine, well tested and widely used within many projects. Also, SQLite has some very specific characteristics (virtual tables, dynamic typing…) that make the integration with Notes/Domino data easier.

Read the documentation.