Easysoft Data AccessWhy do I get error "Initialization function SQLAllocConnect not found" when using Oracle Heterogenous Services (hsODBC) on AIX? |
|
Assumptions:
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 hsODBC is linked against libodbc.so but the unixODBC you are 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 -tv libodbc.a
If this shows the archive contains libodbc.so.1 this is your problem and the solution is:
cd /usr/local/easysoft/unixODBC/lib
-or-
cd /lib
-or-
cd unixODBC_install_dir
ar -xv libodbc.a
This should extract the file libodbc.so.1 to the current directory.
mv libodbc.so.1 libodbc.so
HS_FDS_SHAREABLE_NAME = /usr/local/easysoft/unixODBC/lib/libodbc.so
Restart your Oracle listener. Your link should now work.