Easysoft Data Access

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

Article:
00916
Last Reviewed:
2nd January 2024
Revision:
6

Assumptions:

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

    -or-

    cd /lib

    -or-

    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

    -Or-

    cd /lib

    -Or-

    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)