Hello experts,
Kindly ask for your help!
Am struggling with this error message:
I tried to use different libraries in the odbc.ini file, as below indicated.
Each one returned a different error message. None worked.
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[
Config files indicated below:
[SAP_IQ16]
Driver=/opt/sybase/IQ-16_0/lib64/libdbodbc11.so
UID=<username>
PWD=<password>
DatabaseName=<SID_of_SAP_IQ_db>
DatabaseFile=/opt/sybase/IQ-16_0/dwhdb.db
CommLinks=tcpip(MyIP=<IP_address_of_where_I_am>;IP=<IP_of_SAP_IQ16_server>:<PORT_of_SAP_IQ_server>; )
ServerName=dwhdb
#Driver=/opt/sqlanywhere16/lib64/libdbodbc16.so
# Example driver definitions
# Driver from the postgresql-odbc package
# Setup from the unixODBC package
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/lib/psqlodbc.so
Setup = /usr/lib/libodbcpsqlS.so
Driver64 = /usr/lib64/psqlodbc.so
Setup64 = /usr/lib64/libodbcpsqlS.so
FileUsage = 1
# Driver from the mysql-connector-odbc package
# Setup from the unixODBC package
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc5.so
Setup = /usr/lib/libodbcmyS.so
Driver64 = /usr/lib64/libmyodbc5.so
Setup64 = /usr/lib64/libodbcmyS.so
FileUsage = 1
#Driver created manually for SAP_IQ
[dwhdb]
Description = Sybase SAP IQ 16
Driver = /opt/sybase/IQ-16_0/lib64/libiqodbc.so
Setup = /opt/sybase/IQ-16_0/lib64/libiqodbc.so
FileUsage = 1
- $ORACLE_HOME/hs/admin/initdwhdb.ora:
# HS init parameters
#
HS_FDS_CONNECT_INFO = dwhdb
HS_FDS_TRACE_LEVEL = 4
#HS_FDS_SHAREABLE_NAME = /opt/sybase/IQ-16_0/lib64/libodbc.so
HS_FDS_SHAREABLE_NAME = /opt/sybase/IQ-16_0/lib64/libiqodbc.so
#HS_FDS_SHAREABLE_NAME = /usr/lib64/libodbc.so.2
HS_LANGUAGE=AMERICAN_AMERICA.AL32UTF8
#
# ODBC specific environment variables
#
#set ODBCINI=/etc/odbc.ini
set ORACLE_HOME=/CRM/oracle/product/11/gw
set SYBASE_JRE7=/opt/sybase/shared/JRE-7_0_7_64BIT
set OLDPWD=/CRM/oracle/.sqlanywhere16
set LD_LIBRARY_PATH=/opt/sybase/IQ-16_0/bin64:/opt/sybase/IQ-16_0/lib64:/CRM/oracle/product/11/gw/lib:/CRM/oracle/product/11/db/lib:/lib:/usr/lib:/usr/lib64
set PATH=/opt/sybase/IQ-16_0/lib64:/opt/sybase/IQ-16_0/bin64:/CRM/oracle/product/11/gw/bin:/CRM/oracle/product/11/db/bin:/usr/sbin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/lib64:/usr/local/sbin:/usr/sbin:/sbin:/CRM/oracle/bin:/CRM/oracle/product/11/db/OPatch
set SYBASE_JRE7_64=/opt/sybase/shared/JRE-7_0_7_64BIT
set ODBCINI=/etc/odbc.ini
set SYBASE_JRE7_32=/opt/sybase/shared/JRE-7_0_7_32BIT
HS_FDS_SUPPORT_STATISTICS = FALSE
- $ORACLE_HOME_of_Oracle_gateway/network/admin/listener.ora
(SID_DESC=
(SID_NAME=dwhdb)
(ORACLE_HOME=/CRM/oracle/product/11/gw)
(PROGRAM=/CRM/oracle/product/11/gw/bin/dg4odbc)
(ENVS ="LD_LIBRARY_PATH=/opt/sybase/IQ-16_0/bin64:/opt/sybase/IQ-16_0/lib64:/CRM/oracle/product/11/gw/lib:/CRM/oracle/product/11/db/lib:/lib:/usr/lib:/usr/lib64:$ORACLE_HOME/lib")
- Please note that isql works OK.
isql -v SAP_IQ16
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> quit
- Tried to see what libraries is isql using and make sure to include the one that it is using, as kindly suggested by a colleague on this forum! Thank you for that! Unfortunately, it did not do the trick, as below indicated:
which isql
/usr/bin/isql
ldd /usr/bin/isql
linux-vdso.so.1 => (0x00007fff70bff000)
libodbc.so.2 => /usr/lib64/libodbc.so.2 (0x00000039ca400000)
libltdl.so.7 => /usr/lib64/libltdl.so.7 (0x00000039d6000000)
libreadline.so.6 => /lib64/libreadline.so.6 (0x00000039ca000000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00000039c9400000)
libc.so.6 => /lib64/libc.so.6 (0x00000039c9000000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000039c9800000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00000039d5c00000)
/lib64/ld-linux-x86-64.so.2 (0x00000039c8c00000)
Trace files and the error messages got when using different libraries:
- Trace file while using libiqodbc.so in the initdwhdb.ora parameter file:
HS_FDS_SHAREABLE_NAME = /opt/sybase/IQ-16_0/lib64/libiqodbc.so
##>Connect Parameters (len=31)<##
## DSN=dwhdb;
#! UID=<username>;
#! PWD=*
Exiting hgogenconstr, rc=0 at 2019/01/15-18:25:29
Entered hgopoer at 2019/01/15-18:25:29
hgopoer, line 231: got native error -95 and sqlstate 0; message follows...
[
Exiting hgopoer, rc=0 at 2019/01/15-18:25:29
hgocont, line 2831: calling SqlDriverConnect got sqlstate 0
Exiting hgocont, rc=28500 at 2019/01/15-18:25:29 with error ptr FILE:hgocont.c LINE:2851 FUNCTION:hgocont() ID:Something other than invalid authorization
Exiting hgolgon, rc=28500 at 2019/01/15-18:25:29 with error ptr FILE:hgolgon.c LINE:806 FUNCTION:hgolgon() ID:Calling hgocont
Entered hgoexit at 2019/01/15-18:25:29
Exiting hgoexit, rc=0
- Trace file while using libodbc.so in the initdwhdb.ora parameter file:
HS_FDS_SHAREABLE_NAME = /opt/sybase/IQ-16_0/lib64/libodbc.so
##>Connect Parameters (len=31)<##
## DSN=dwhdb;
#! UID=<username>;
#! PWD=*
Exiting hgogenconstr, rc=0 at 2019/01/15-18:26:58
Entered hgopoer at 2019/01/15-18:26:58
hgopoer, line 231: got native error -95 and sqlstate 0; message follows...
[
Exiting hgopoer, rc=0 at 2019/01/15-18:26:58
hgocont, line 2831: calling SqlDriverConnect got sqlstate 0
Exiting hgocont, rc=28500 at 2019/01/15-18:26:58 with error ptr FILE:hgocont.c LINE:2851 FUNCTION:hgocont() ID:Something other than invalid authorization
Exiting hgolgon, rc=28500 at 2019/01/15-18:26:58 with error ptr FILE:hgolgon.c LINE:806 FUNCTION:hgolgon() ID:Calling hgocont
Entered hgoexit at 2019/01/15-18:26:58
Exiting hgoexit, rc=0
PS: all libraries referenced in /opt/sybase/IQ-16_0/lib64 are actually symbolic links to the same one library, /libdbodbc16.so:
ls -larth *odbc*
-rwxr-xr-x 1 root root 427K Feb 26 2013 libdbodbc16.so
-rwxr-xr-x 1 root root 9.7M Feb 26 2013 libdbodbc16_n.so
-rwxr-xr-x 1 root root 9.8M Feb 26 2013 libdbodbc16_r.so
-rwxr-xr-x 1 root root 2.5M Feb 26 2013 libdbodbcinst16_r.so
-rwxr-xr-x 1 root root 9.8M Feb 26 2013 libdbodbcansi16_r.so
-rwxr-xr-x 1 root root 2.7M Feb 26 2013 libdbjodbc16.so
lrwxrwxrwx 1 root root 16 Jan 10 09:50 libodbc.000 -> ./libdbodbc16.so
lrwxrwxrwx 1 root root 16 Jan 10 09:50 libiqodbc.000 -> ./libdbodbc16.so
lrwxrwxrwx 1 root root 16 Jan 10 09:50 libdbodbc11.000 -> ./libdbodbc16.so
lrwxrwxrwx 1 root root 16 Jan 10 09:50 libdbodbc12.000 -> ./libdbodbc16.so
lrwxrwxrwx 1 root root 16 Jan 14 15:24 libodbc.so -> ./libdbodbc16.so
lrwxrwxrwx 1 root root 16 Jan 14 15:24 libiqodbc.so -> ./libdbodbc16.so
lrwxrwxrwx 1 root root 16 Jan 14 15:24 libdbodbc11.so -> ./libdbodbc16.so
lrwxrwxrwx 1 root root 16 Jan 14 15:24 libdbodbc12.so -> ./libdbodbc16.so
- Trace file while using the libodbc.so.2 in the initdwhdb.ora parameter file, the one that is referenced by isql in the ldd command:
ldd /usr/bin/isql
linux-vdso.so.1 => (0x00007fff70bff000)
libodbc.so.2 => /usr/lib64/libodbc.so.2 (0x00000039ca400000)
libltdl.so.7 => /usr/lib64/libltdl.so.7 (0x00000039d6000000)
libreadline.so.6 => /lib64/libreadline.so.6 (0x00000039ca000000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00000039c9400000)
libc.so.6 => /lib64/libc.so.6 (0x00000039c9000000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000039c9800000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00000039d5c00000)
/lib64/ld-linux-x86-64.so.2 (0x00000039c8c00000)
HS_FDS_SHAREABLE_NAME = /usr/lib64/libodbc.so.2
##>Connect Parameters (len=31)<##
## DSN=dwhdb;
#! UID=<username>;
#! PWD=*
Exiting hgogenconstr, rc=0 at 2019/01/15-18:34:15
Entered hgopoer at 2019/01/15-18:34:15
hgopoer, line 231: got native error 0 and sqlstate I; message follows...
[
Exiting hgopoer, rc=0 at 2019/01/15-18:34:15
hgocont, line 2831: calling SqlDriverConnect got sqlstate I
Exiting hgocont, rc=28500 at 2019/01/15-18:34:15 with error ptr FILE:hgocont.c LINE:2851 FUNCTION:hgocont() ID:Something other than invalid authorization
Exiting hgolgon, rc=28500 at 2019/01/15-18:34:15 with error ptr FILE:hgolgon.c LINE:806 FUNCTION:hgolgon() ID:Calling hgocont
Entered hgoexit at 2019/01/15-18:34:15
Exiting hgoexit, rc=0
CREATE PUBLIC DATABASE LINK DWHDB_LINK CONNECT TO "<username>" IDENTIFIED BY <PWD> USING 'dwhdb';
Thank you, experts!
Really looking forward to your expert opinion!