Patrick-Dussault

Tech Tip : CA Single Sign-On : Policy Server :: ODBC : File not found '.odbcinst.ini'

Discussion created by Patrick-Dussault Employee on Nov 29, 2016

Question :

 

Running Policy Server with an ODBC Store, I get the following error message:

 

[DataDirect][ODBC Oracle Wire Protocol driver]File not found '.odbcinst.ini'.

 

I have checked and the system_odbc.ini file exists, is readable. How can I trouble shoot this problem?

 

 

 

Environment :

 

Policy Server 12.52SP1CR01 on SunOS 5.10

 

 

 

Answer :

 

If you are running on SunOS system, you can run truss command to see if the Policy Server find the files and what it is doing after.

 

To illustrate a case where a connection issue was causing the error, you should see :

 

    the Policy Server finds the system_odbc.ini
    /33: stat64("/opt/CA/siteminder/db/system_odbc.ini",
    0xF8078238) = 0
    set for udp connection:
    /33: open("/dev/udp", O_RDONLY)
    = 18
    open the socket:
    /33: so_socket(PF_INET, SOCK_STREAM, IPPROTO_IP, "",
    SOV_DEFAULT) = 18
    /33: setsockopt(18, SOL_SOCKET, SO_LINGER, 0x005283B8,
    8, SOV_DEFAULT) = 0
    /33: setsockopt(18, tcp, TCP_NODELAY, 0xF807AB8C, 4,
    SOV_DEFAULT) = 0
    /33: setsockopt(18, SOL_SOCKET, SO_KEEPALIVE, 0xF807AB8C,
    4, SOV_DEFAULT) = 0
    /33: AF_INET name = 0.0.0.0 port = 0
    /33: AF_INET name = 10.58.14.21 port = 1521
    /33: AF_INET name = 10.58.190.133 port = 60797
    /33: sysinfo(SI_HOSTNAME, "mymachine", 256) = 11
    send data to the odbc server :

 

    /33: send(18, "\0C8\0\001\0\0\001 401 ,".., 200, 0) = 200
    the odbc server replies with data :

 

    /33: recv(18, "\0 M", 2, 0) = 2
    /33: recv(18, "\0\005\0\0\0\0 C ( D E S".., 75, 0) = 75
    /33: close(18) = 0
    The Policy Server open another connection, but this time to a different odbc server :

 

    /33: so_socket(PF_INET, SOCK_STREAM, IPPROTO_IP, "",
    SOV_DEFAULT) = 18
    /33: setsockopt(18, SOL_SOCKET, SO_LINGER, 0x00525FC8,
    8, SOV_DEFAULT) = 0
    /33: setsockopt(18, tcp, TCP_NODELAY, 0xF807AB8C, 4,
    SOV_DEFAULT) = 0
    /33: setsockopt(18, SOL_SOCKET, SO_KEEPALIVE, 0xF807AB8C,
    4, SOV_DEFAULT) = 0

 

    to 10.58.14.20 instead of previously 10.58.14.21, but
    this time the connection is refused :

 

    /33: connect(18, 0x005283B0, 16, SOV_DEFAULT)
    Err#146 ECONNREFUSED
    /33: AF_INET name = 10.58.14.20 port = 1521
    /33: close(18) = 0

 

    and finally Policy Server writes :

 

    /33: write(17, "\n E X I T S Q L C o".., 51) = 51

 

KB : tec615853

Outcomes