I'm trying to access an ASA16 server from IQ16 via ODBC driver. Both servers are installed on the same Linux box.
I've installed unixodbc-bin
and added a file .odbc.init into home of user running the databases:
[mes_input]
Driver=/opt/sqlanywhere16/lib64/libdbodbc16_r.so
uid=dba
pwd=SQL
EngineName=mes_input
CommLinks=tcpip(host=127.0.0.1;port=49152)
AutoStop=no
DatabaseName=mes_input
The ASA is running on 49152 on that box; IQ is running default 2638.
Also I've added an entry into interfaces file locking like that:
mes_input
master tcp ether myserver 49152
query tcp ether myserver 49152
Back on IQ I can add via Sybase Central the remote server as well as tables from this box. Also testing the connection and is showing no error.
But when I'm now trying to copy some data from ASA via e.g.
INSERT locale_table LOCATION 'mes_input.mes_input' 'SELECT * FROM table'
I'm getting:
Connectivity libraries cannot be found (check your dynamic library
search path). Selects from attached databases are not possible without
these libraries.
-- (hqmlib/hqm_cpm.cxx 146)
SQLCODE=-1003005, ODBC 3-Status="HY000"
Zeile 1, Spalte 1
Something I've missed or missconfigured?
Best Answer
Checked official documentation for this error and could see it as below:
The error could be happening due to not setting/wrongful setting of appropriate environment variables on the host on which SAP IQ is running.
You need to set the environment variables on Linux Box.
You may do below for setting these variables:
Change to the SAP IQ parent installation directory and execute one of the following: For the tcsh or C (csh) shell, enter:
For the Korn (ksh), Bash, or Bourne (sh) shells, enter:
Hope this helps.