IBM Support

Collecting data for an ODBC Problem

Technote (FAQ)


What information should be collected when you experience a problem with your software? Collecting data for an ODBC Problem. Collecting this information before calling IBM support will help you understand the problem and save time analyzing the data.


Collecting general information

General Information to collect for Informix Family product problems

Collecting ODBC specific information

1. Environment settings for IBM Informix ODBC.

2. Determine the version of C/C++ compiler you are using.

      Solaris: cc -V for C or CC -V for C++
      HP-UX: cc -V for C or CC -V for C++
      AIX: lslpp -L | grep -i vac or lslpp -L | grep -i xlc
      Linux: gcc -v
      Windows: cl /V

    3. Dependency information:
      UNIX/Linux: ldd executable_name
      Windows:   dumpbin /dependents executable_name

    4. Native core or memory dump if the problem is a hang or crash:

    Operating System
    Needed file
    snapcore file
    packcore file
    core file with executable and all the libraries referenced
    memory dump
    Note, a snapcore file can be created with AIX command snapcore that gathers the core file, program, and libraries used by the program and compresses the information into a pax file. An HP-UX packcore file is similar to snapcore on AIX, but you need to generate it using gdb command (see gdb help for more information).

    5. Set the environment variable SQLIDEBUG:
      UNIX/Linux: Set the SQLIDEBUG environment variable to "2:<path\filename>"
        export SQLIDEBUG=2:/testing/output/sqlidebug.out

      Windows: Go to "Control Panel" -> "Performance and Maintenance" -> "System" and click "Environment" on the "Advanced" tab to set the environment variable:
        SQLIDEBUG = 2:\path\filename

    6. ODBC trace:
      On Windows:
        a) Go to Control Panel--> Performance and Maintenance --> Administrative Tools and open the Data Sources (ODBC) Administration tool.
        b) On the Tracing tab, click "Start Tracing Now" to enable tracing.
        c) You can specify a different fully-qualified name of the log file in the "Log File Path" text field.
        d) Click OK.
      On Unix/Linux, you can turn on the ODBC trace by adding the following to odbcinst.ini if you have ODBC Driver Manager installed:
        TraceFile=< pathname >/odbctrace.out
        TraceDll=<Your_ODBC_Driver_Manager_lib_path> / (or .sl)

        must be an existing path with write permission by the user who will start the ODBC application

        Note, you must specify InstallDir when you are using ODBC driver manager for ODBC trace.

        You can also use Informix libifdmr to replace the ODBC driver manager to trace the ODBC driver. The libifdmr also maps the old ODBC APIs, such as SQLAllocStmt. To use libifdmr:

        1. Make sure the ODBC application is linked to idmrs09a with link option of -lifdmr.

        2. Set the TraceDll to idmrs09a, for example:

    7. Once SQLIDEBUG and ODBC trace are enabled run the application.

    8. A simplified ODBC test program that reproduces the problem is very helpful.

    What to do next

    Once you have collected the preceding information, simply submit the diagnostic information to IBM support.

    You can submit files using one of following methods to help speed problem diagnosis:

    See the Related information article, Submitting diagnostic information to IBM Technical Support for problem determination.

    Related information

    Submitting diagnostic information to IBM Technical Supp

    Document information

    More support for: Informix Tools
    Informix Client Software Development Kit (CSDK)

    Software version: 2.9, 3.0, 3.5

    Operating system(s): AIX, DYNIX/ptx, Digital Unix (OSF1)(TRU64), HP-UX, IRIX, Linux, Mac OS X, Reliant UNIX, Sinix, Solaris, Windows

    Reference #: 1323418

    Modified date: 07 April 2009