Consultor Eletrônico



Kbase 21966: How ORACLE DataServer Looks for Shared Libraries - libclntsh
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   11/1/2002
SUMMARY:

This Solution applies to Progress Version 9.1x and ORACLE 8.x. It addresses certain environment variables' effect on how the ORACLE DataServer looks for shared libraries on 32-bit and 64-bit platforms.

EXPLANATION:

Starting with Version 9.1B, Progress ships 64-bit version products. ORACLE also has a 64-bit product which has either or both 32-bit and 64-bit libclntsh shipped with it.

SOLUTION:

Here is the scheme for how Progress attempts to load the ORACLE client
library.

ORASOPATHNAME is an environment variable that can be used to
point to a particular libclntsh.so (sl).

For 32-bit platforms, Progress first checks $ORASOPATHNAME, then $ORACLE_HOME/lib/libclntsh.so (or libclntsh.sl for hpux), then /usr/lib/libclntsh.so (or sl).

If it's a 64-bit platform, Progress first checks $ORASOPATHNAME, then
$ORACLE_HOME/lib64/libclntsh.so (or sl) and finally /usr/lib/libclntsh.so (or sl).

In most cases, it's best to leave ORASOPATHNAME unset, and not to put
a soft link in /usr/lib/; thus have ORACLE_HOME dictate where the shared library is.

Important note:

With release of Progress 9.1D02, Oracle 9i client is officially supported.

On Solaris 64 and HP-UX 64 bit plaforms, ORASOPATHNAME must be set to
point to ORACLE 64 bit client library libclntsh.xx. In standard ORACLE
9i 64 installation, it is in $ORACLE_HOME/lib directory. Failure to
set the above environment variable and dependign on ORACLE_HOME will result in memory violation upon connecting to ORACLE.