Oracle is very selective about which versions of software to use. It is recommended to use the Instant Client version that corresponds to the Oracle database version. Regarding the unixODBC version, it is possible to deviate a little, without going overboard.
By following this guide, it is possible to obtain full functionality of the Lotusscript LCConnection
and ODBCConnection
objects.
- OS: Rocky Linux 9.5
- Database: Oracle 11.2.0.3
- Domino: HCL Domino 14 FP4
- Oracle Instant Client ODBC release compatibility
- unixODBC 2.3.11 RPMs
- Oracle Instant Client Downloads (Basic + ODBC)
Download and install the following RPMs:
- Oracle Instant Client (Basic + ODBC)
- unixODBC 2.3.11
Install them using:
dnf install ./<package.rpm>
Create or copy tnsnames.ora
to /etc/oracle/tnsnames.ora
Check the current unixODBC configuration with:
odbcinst -j
Example output:
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
The first two paths will be configured.
[Oracle11g]
Description = Oracle ODBC driver for Oracle 11g
Driver = /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1
Setup =
FileUsage = 1
CPTimeout = 5
CPReuse = 5
UsageCount = 10
Making sure the Driver
value points to the actual Oracle library.
[DSNNAME]
Driver = Oracle11g
DSN = Oracle11g
ServerName = NAME
Driver
and DSN
must be the same as the odbcinst.ini
section title.
The ServerName
value will be the instance name as configures in the tnsnames.ora
.
Create a shell script /etc/profile.d/oracle.sh
:
#!/bin/bash
export TNS_ADMIN=/etc/oracle
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:/opt/hcl/domino/notes/latest/linux:$LD_LIBRARY_PATH
Ensure this is executable and available at login.
When starting Domino as a service, I'm using Daniel Nashed' start script, bash profile is not loaded. Instead, edit the file /etc/systemd/system/domino.service
adding the required environment variables:
Environment=ORACLE_HOME=/usr/lib/oracle/11.2/client64
Environment=LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:/opt/hcl/domino/notes/latest/linux:$LD_LIBRARY_PATH
Environment=TNS_ADMIN=/etc/oracle
To ensure the Oracle ODBC library links correctly:
ldd /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1
Use HCL's dctest
tool (run as notes
user):
/opt/hcl/domino/notes/14000000/linux/dctest
Then choose 3 - ODBC
and provide DSN, username and password to test it.
Create a symbolic link:
ln -s /usr/lib64/libodbc.so.2 /usr/lib64/libodbc.so
System ODBC library is not found. Might be an LD_LIBRARY_PATH
issue or a libodbc.so
not found (hard-link as described above). Use dctest
to troubleshoot.
Run as notes
user:
isql -v DSNNAME USER PASS
- Ensure the notes user has access to the environment variables and library paths at runtime.
- bash_profile is not used for systemd services — use
Environment=
in the service file instead.