I am trying to acces oracle from linux server. I am using unixODBC.
When i try to acces oracle using isql and i get error that driver manager can't open libsqora.so.12.1.
odbc.ini
[NAME] Application Attributes = T Attributes = W BatchAutocommitMode = IfAllSuccessful BindAsFLOAT = F CloseCursor = F DisableDPM = F DisableMTS = T Driver = Oracle 11g ODBC driver DSN = DSN_NAME EXECSchemaOpt = EXECSyntax = T Failover = T FailoverDelay = 10 FailoverRetryCount = 10 FetchBufferSize = 64000 ForceWCHAR = F Lobs = T Longs = T MaxLargeData = 0 MetadataIdDefault = F QueryTimeout = T ResultSets = T ServerName = ServerName SQLGetData extensions = F Translation DLL = Translation Option = 0 DisableRULEHint = T UserID = xxxx Password=<password> StatementCache=F CacheBufferSize=20 UseOCIDescribeAny=F odbcinst.ini
[Oracle 11g ODBC driver] Description=Oracle ODBC driver for Oracle 11g Driver=/usr/local/easysoft/oracle/InstantClient112/lib/libsqora.so FileUsage=1 Then, when i use isql to acces oracle i get the following error:
[root@xxxxx lib]# isql -v NAME [01000][unixODBC][Driver Manager]Can't open lib '/usr/local/easysoft/oracle/InstantClient112/lib/libsqora.so' : file not found [ISQL]ERROR: Could not SQLConnect I had typo in odbcinst.ini. I have corrected but still same error.
[root@xxxxx tmp]# isql -v NAME [01000][unixODBC][Driver Manager]Can't open lib '/usr/local/easysoft/oracle/InstantClient112/lib/libsqora.so.11.1' : file not found [ISQL]ERROR: Could not SQLConnect [root@xxxxx tmp]# ls -l /usr/local/easysoft/oracle/InstantClient112/lib/libsqora.so.11.1 -rw-r--r-- 1 bin bin 996363 Sep 5 2010 /usr/local/easysoft/oracle/InstantClient112/lib/libsqora.so.11.1 [Oracle 11g ODBC driver] Description=Oracle ODBC driver for Oracle 11g Driver=/usr/local/easysoft/oracle/InstantClient112/lib/libsqora.so.11.1 FileUsage=1 ENV
[root@xxxxx tmp]# env HOSTNAME=xxxxx SSH2_TTY=/dev/pts/0 SHELL=/bin/bash TERM=xterm HISTSIZE=1000 ODBC_DIR=/usr/local/easysoft/unixODBC OLDPWD=/usr/local/easysoft SSH_SESSION_ID=1424 SSH_TTY=/dev/pts/0 LD_LIBRARY_PATH=/usr/local/easysoft/lib:/usr/local/easysoft/unixODBC/lib A__z="*SHLVL TNS_ADMIN=/usr/local/easysoft/oracle/InstantClient112/network/ INPUTRC=/etc/inputrc PWD=/tmp LANG=en_US.UTF-8 ODBCSYSINI=/etc/ HOME=/root SHLVL=3 ODBCINI=/etc LESSOPEN=|/usr/bin/lesspipe.sh %s ORACLE_HOME=/usr/local/easysoft/oracle/InstantClient112/ G_BROKEN_FILENAMES=1 _=/bin/env PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/local/easysoft/unixODBC/bin:/opt/oraClient/11.2.0.4/bin Fixed original issue with LD_LIBRARY_PATH updates but now it is broken again since I am trying to use the 32bit Oracle client.
Installed 32bit oracle client in directory /opt/oraClient/11.2.0.4_32/.
Modified the odbcinst.ini:
[Oracle 11g ODBC driver] Description=Oracle ODBC driver for Oracle 11g #Driver=/usr/local/easysoft/oracle/InstantClient112/lib/libsqora.so.11.1 Driver=/opt/oraClient/11.2.0.4_32/lib/libsqora.so.11.1 FileUsage=1 Error:
[root@xxxxx lib]# /usr/local/bin/isql -v NAME [01000][unixODBC] [Driver Manager]Can't open lib '/opt/oraClient/11.2.0.4_32/lib/libsqora.so.11.1' : file not found [ISQL]ERROR: Could not SQLConnect If I need to use the 32bit Oracle client, what am i doing wrong...I know it is something in environmental variables.
[root@xxxxx lib]# file /opt/oraClient/11.2.0.4_32/lib/libsqora.so.11.1 /opt/oraClient/11.2.0.4_32/lib/libsqora.so.11.1: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped I enable trace but am not able to attach document here. I can email.
More debug info:
[root@xxxxx bin]# ldd /opt/oraClient/11.2.0.4_32/lib/libsqora.so.11.1 ldd: warning: you do not have execution permission for `/opt/oraClient/11.2.0.4_32/lib/libsqora.so.11.1' linux-gate.so.1 => (0xffffe000) libdl.so.2 => /lib/libdl.so.2 (0xf7f2b000) libm.so.6 => /lib/libm.so.6 (0xf7f02000) libpthread.so.0 => /lib/libpthread.so.0 (0xf7ee8000) libnsl.so.1 => /lib/libnsl.so.1 (0xf7ecf000) libclntsh.so.11.1 => not found libodbcinst.so.1 => not found libc.so.6 => /lib/libc.so.6 (0xf7d71000) /lib/ld-linux.so.2 (0x00134000) I don't get one the "not found" which may be causing some problems:
[root@xxxxx bin]# ls /opt/oraClient/11.2.0.4_32/lib/libclntsh.so.11.1 /opt/oraClient/11.2.0.4_32/lib/libclntsh.so.11.1 Below is the most recent env output:
[root@xxxxx]# env HOSTNAME=xxxxx SSH2_TTY=/dev/pts/0 TERM=xterm SHELL=/bin/bash HISTSIZE=1000 ODBC_DIR=/usr/local/easysoft/unixODBC SSH_TTY=/dev/pts/0 LD_LIBRARY_PATH=/opt/oraClient/11.2.0.4_32/:/opt/oraClient/11.2.0.4_32/lib/:/usr/local/easysoft/oracle/InstantClient112:/usr/local/easysoft/oracle/InstantClient112/lib/ TNS_ADMIN=/opt/oraClient/11.2.0.4_32/network/ PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/local/easysoft/unixODBC/bin:/opt/oraClient/11.2.0.4_32/bin INPUTRC=/etc/inputrc LANG=en_US.UTF-8 ODBCSYSINI=/etc/ SHLVL=4 HOME=/root ODBCINI=/etc ORACLE_HOME=/opt/oraClient/11.2.0.4_32/ G_BROKEN_FILENAMES=1 _=/bin/env