0

Good afternoon. There is a problem. Once I had an old Linux system 32 bits. ORacle 11 client was configured on this system. And one self-written (on lazarus) program was connected from this system to the Oracle server correctly. We decided to set up a new 64-bit Linux system. Everything is set up in the same way. But when starting the program, more precisely when we access oracle through the program (to the server settings, login and password), an error popped up: "TApplication.HandleException Cannot load OCI DLL: libclntsh.so". I double-checked that this library exists and a symlink has been created for it.

glogin.sql
libclntshcore.so.18.1
libclntsh.so -> /usr/lib/oracle/18.5/client64/lib/libclntsh.so.18.1
libclntsh.so.18.1
libipc1.so
libmql1.so
libnnz18.so
libocci.so -> /usr/lib/oracle/18.5/client64/lib/libocci.so.18.1
libocci.so.18.1
libociei.so
libocijdbc18.so
libons.so
liboramysql18.so
libsqlplusic.so
libsqlplus.so
ojdbc8.jar
ottclasses.zip
xstreams.jar

From the command line connection to the oracle server occurs without errors. I've searched a bunch of forums, followed their advice - it didn't help.

Can anyone suggest how to solve this puzzle?

  • Might be similar to this: https://stackoverflow.com/questions/55823744/how-to-fix-cx-oracle-databaseerror-dpi-1047-cannot-locate-a-64-bit-oracle-cli Could you post the value of your LD_LIBRARY_PATH environment variable? libclntsh.so probably needs to be in a directory that is in that path. – Bobby Durrett Jan 21 '22 at 21:33
  • Look.....
    export ORACLE_HOME=/usr/lib/oracle/18.5/client64 export LD_LIBRARY_PATH=/usr/lib/oracle/18.5/client64/lib export TNS_ADMIN=/usr/lib/oracle/18.5/client64 export NLS_LANG=UKRAINIAN_UKRAINE.UTF8
    – Евгений Бобырь Jan 22 '22 at 08:11
  • 1
    Have you recompiled your program as 64-bit, or are you trying to use a 32-bit program with the 64-bit driver? – Alex Poole Jan 22 '22 at 10:19

1 Answers1

0

I did it:

  • Remove all files ORACLE client (uninstall from linux)
  • Then download oracli client 11 32 bit (not 64 bit) in ZIP files (32 bit *.RPM was not installed)
  • Unpack files on my FOLDER /opt/oracle/.....
  • Create links
  • Set home, path, tns_names..... and other

and it works - my 32 bits program is working in oracle 32 bit in linux 64 bit EFI.

buddemat
  • 4,552
  • 14
  • 29
  • 49