Easysoft Data Access

Why do I get error "Initialization function SQLAllocConnect not found" when using Oracle Heterogenous Services (hsODBC) on AIX?

Last Reviewed:
2nd January 2024


On AIX, this problem occurs because Oracle's ODBC agent (hsODBC) is linked against libodbc.so, but the unixODBC Driver Manager you are using contains libodbc.so.1 in the libodbc.a archive. To check this:

  1. cd /usr/local/easysoft/unixODBC/lib


    cd /lib


    cd unixODBC_install_dir
  2. ar -X32_64 -tv libodbc.a

If this shows the archive contains libodbc.so.1 this is your problem. The solution is:

  1. Become root or whoever you need to be to create files in the unixODBC lib subdirectory.
  2. cd /usr/local/easysoft/unixODBC/lib


    cd /lib


    cd unixODBC_install_dir
  3. ar -X32_64 -xv libodbc.a

    This should extract the file libodbc.so.1 to the current directory.

  4. Rename libodbc.so.1:
    mv libodbc.so.1 libodbc.so
  5. Point hsODBC at it directly by amending the 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.

Applies To

Knowledge Base Feedback

* Did this content help you?
* Please select one option based on your first choice:

(* Required Fields)