Assumptions:
LIBPATH
correctly to include the Driver Manager library paths. (For example, /usr/local/easysoft/unixODBC/lib
and /usr/local/easysoft/lib
).ERROR at line 1: ORA-28500: connection from ORACLE to a non-Oracle system returned this message: [Generic Connectivity Using ODBC]DRV_InitTdp: DB_ODBC_INTERFACE(6); Initialization function SQLAllocConnect not found DB_ODBC_INTERFACE(7); Cannot connect to shareable /usr/local/easysoft/unixODBC/lib/libodbc.a. Using dummy functions ORA-02063: preceding 3 lines from OCI1
On AIX, this problem occurs because Oracle's ODBC agent (HSODBC) is linked against libodbc.so
, but the unixODBC Driver Manager you're using contains libodbc.so.1
in the libodbc.a
archive
. To check this:
cd /usr/local/easysoft/unixODBC/lib
–Or–
cd /lib
–Or–
cd unixODBC_install_dir
ar -X32_64 -tv libodbc.a
If this shows the archive contains libodbc.so.1
, this is your problem. The solution is:
lib
subdirectory.cd /usr/local/easysoft/unixODBC/lib
–Or–
cd /lib
–Or–
cd unixODBC_install_dir
ar -X32_64 -xv libodbc.a
This should extract the file libodbc.so.1
to the current directory.
libodbc.so.1
:
mv libodbc.so.1 libodbc.so
HS_FDS_SHAREABLE_NAME
parameter in your initname.ora
file to be:
HS_FDS_SHAREABLE_NAME = /usr/local/easysoft/unixODBC/lib/libodbc.so
Restart your Oracle listener. Your link should now work.