Ad Widget

Collapse

ODBC connection with SQLPLUS but not with ISQL

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • JSERRAHIMA
    Junior Member
    • May 2021
    • 16

    #1

    ODBC connection with SQLPLUS but not with ISQL

    Hello,

    I'm trying to connect from zabbix to Oracle DB and i follow other post like : https://www.zabbix.com/forum/zabbix-...ring-oracle-db, or external blogs like https://sudonull.com/post/110401-Mon...ODBC-in-Zabbix but i can't get isql working.

    * tnsnames.ora
    Code:
    $ cat $ORACLE_HOME/network/admin/tnsnames.ora
    CENTOS =
    (DESCRIPTION =
    (ADDRESS= (PROTOCOL = TCP)(HOST= <IP_HOST>)(PORT = 1521))
    (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME=XEPDB1))
    )
    * odbc.ini
    Code:
    $ cat /etc/odbc.ini
    [ORA_CENTOS]
    Driver=OracleDriver
    DSN=CENTOS
    ServerName=<Server_IP>
    UserID=<user>
    Password=<user_pass>
    * odbcinst.ini
    Code:
    $ cat /etc/odbcinst.ini
    
    ...
    # Driver ORACLE
    [OracleDriver]
    Description = Oracle ODBC driver
    Driver = /usr/lib/oracle/21/client64/lib/libsqora.so.21.1
    When connecting via sqlplus
    Code:
    $ sqlplus <user>@centos
    
    SQL*Plus: Release 21.0.0.0.0 - Production on Thu Jun 3 12:46:54 2021
    Version 21.1.0.0.0
    
    Copyright (c) 1982, 2020, Oracle. All rights reserved.
    
    Enter password:
    
    Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
    Version 18.4.0.0.0
    
    SQL>
    But when triying with isql
    Code:
    $ isql -v ORA_CENTOS
    [28000][unixODBC][Oracle][ODBC][Ora]ORA-01017: invalid username/password; logon denied
    
    [ISQL]ERROR: Could not SQLConnect
    * More info:
    • SELinux: sudo setsebool -P httpd_can_network_connect 1
    • Password: Always the same
    • Env:
      • PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/lib/oracle/21/client64/bin
      • TNS_ADMIN=/usr/lib/oracle/21/client64/network/admin
      • ORACLE_HOME=/usr/lib/oracle/21/client64
      • LD_LIBRARY_PATH=/usr/lib/oracle/21/client64/lib:/usr/lib/oracle/21/client64/lib:

    I dont know what else to look for ...

    Regards.
  • JSERRAHIMA
    Junior Member
    • May 2021
    • 16

    #2
    Finally i got it working:

    Code:
    # /etc/odbc.ini
    [<SERVER_CON_DEFINITION>]     # <- Name for macro {$ORACLE.DSN}
    Driver=Oracle                        #    <- Name defined on odbcinst.ini
    ServerName=CENTOS           #    <- Name defined on tnsnames.ora
    
    # /etc/odbcinst.ini
    [Oracle]
    Description = Oracle ODBC driver for Oracle 21
    Driver = /usr/lib/oracle/21/client64/lib/libsqora.so.21.1
    
    # /usr/lib/oracle/18.5/client64/network/admin/tnsnames.ora
    CENTOS =
       (DESCRIPTION =
          (ADDRESS= (PROTOCOL = TCP)(HOST= <IP_DB_SERVER>)(PORT = <PORT>))
          (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME=<SERVICE_NAME>))
    )
    DSN {$ORACLE.DSN}, username {$ORACLE.USER} and password {$ORACLE.PASSWORD} defined at Host macros level

    Regards.
    Last edited by JSERRAHIMA; 11-06-2021, 12:00.

    Comment

    Working...