Layer7 Access Management

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

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

    Posted 11-29-2016 06:04 AM

    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