Questa guida può essere utile a chi deve installare Linux RHEL 9.X e Domino V14.X. Di recente, ho effettuato una migrazione da RHEL 8 con Domino 12.0.2FP4 a RHEL 9.4 con Domino 14FP1. Nonostante avessi installato unixODBC dal repository (yum install unixODBC) e configurato correttamente i driver, tutto il codice Lotusscript server-side che utilizzava le librerie SQL generava questo errore:
Agent Manager: Agent 'NAME AGENT' error: Error loading USE or USELSX module: *LSXODBC
Nel caso venisse utilizzata la libreria:
UseLSX "*LSXODBC"
(che fisicamente fa riferimento alla libreria libdbodbc.so presente sulla macchina linux)
Mentre e per gli agenti che utilizzavano:
UseLSX "*lsxlc" (che fa riferimento alla libreria liblsxlc.so) una volta istanziata la classe
Dim conn As New LCConnection("odbc2")
tutte le assegnazioni successive andavano in errore
Non c’era alcun errore di configurazione nel file odbc.ini e nei driver; non c’era alcun problema nel LD_LIBRARY_PATH… Quindi, cosa fare?
Grazie a una conversazione su una chat aperta di Discord, mi è stato suggerito di provare manualmente il tool dctest presente nei binari di Domino sotto /opt/hcl/domino/notes/14000000/linux/dctest.
Dopo averlo lanciato, ecco l’errore scoperto l'errore reale:
-------------------
ODBC Connection Verification
Copyright 2005, 2020 HCL Technologies.
--------------------------------------------
This utility will verify connectivity from this machine to the
specified ODBC data source.
At the prompts, enter a valid ODBC data source, username, and password
error loading libodbc.so: libodbc.so: cannot open shared object file: No such file or directory
error - unable to load library libodbc.so
At the prompt, enter the number of the test
you would like to run, or enter 0 to exit.
0 - Exit this program
1 - HCL Notes
2 - Oracle Server
3 - ODBC
5 - DB/2
-------------------
In pratica, i driver unixODBC in RHEL9 non includono più la libreria libodbc.so.
Dopo una ricerca nell’intero sistema, ho trovato quanto segue:
sudo find / -name "libodbc.so*"
/usr/lib64/libodbc.so.2
/usr/lib64/libodbc.so.2.0.0
La soluzione è stata semplice: creare un collegamento simbolico:
ln -s /usr/lib64/libodbc.so.2 /usr/lib64/libodbc.so
Ho aperto un caso in HCL e suggerito al supporto di HCL di creare una KB per questo problema.
0 Commenti:
Nessun Commento Trovato