Data Source Name Not Found and No Default Driver Specified

The "database name not found and no default driver specified" error message most commonly occurs when OpenLink and/or ODBC environment variables were not set before the error-reporting application was launched. It may also be seen (typically on Windows or Mac) when a System-level service is told to use a User DSN. If you receive this error, take the following action:

  1. If using a System-level service (e.g., DG4ODBC, HSODBC, PHP, Perl, Python, Ruby, etc.) on Mac or Windows, confirm that your target is a System DSN, not a User DSN.
  2. cd into the root directory of your OpenLink client components installation. For example:


    $ cd /usr/openlink

  3. Run the command which corresponds to your Unix shell --
    Shell Command
    bash, sh, zsh . ./openlink.sh
    ksh source ./openlink.sh
    csh, tcsh source ./openlink.csh

  4. Confirm that $ODBCINI, $ODBCINSTINI, and $UDBCINI are set. For example:


    $ set SHLIB_PATH=:/home/openlink/32bit/lib TERM=vt100 TMOUT=0 TZ=EST5EDT UDBCINI=/home/openlink/32bit/bin/udbc.ini

    • If your variables are not set, use a text editor to open the openlink.sh or openlink.csh script. Take note of the environment variables. Then, try to set them on the command line. For example:


      $ cd /usr/openlink $ vi openlink.sh UDBCINI=/home/openlink/32bit/v40/bin/udbc.ini ODBCINI=/home/openlink/32bit/v40/bin/odbc.ini ODBCINSTINI=/home/openlink/32bit/v40/bin/odbcinst.ini :q! $ export UDBCINI=/home/openlink/32bit/v40/bin/udbc.ini $ export ODBCINI=/home/openlink/32bit/v40/bin/odbc.ini $ export ODBCINSTINI=/home/openlink/32bit/v40/bin/odbcinst.ini

  5. Stop and start your ODBC application(s) and test to see whether the issue has been resolved.
  6. If the problem persists, open your odbc.ini file in a text editor.
    • Confirm that your DSN's Driver parameter passes the correct path to your OpenLink driver (e.g., oplodbc.so). For example:


      [OpenLink] Driver = /home/openlink/32bit/v40/lib/oplodbc.sl.1

    • Likewise, confirm that the [Default]:Driver parameter passes the full path to the OpenLink driver. This is especially important if your ODBC connect string uses connection attributes rather than a pre-defined DSN.

Evidence

  • odbc.ini and odbcinst.ini files
  • output of set

Referenced by...