Problem Solving Using ODBC Apps [Part 2]

    By: Paul Vero on Jan 02, 2013

    Last month I used the ODBC Test utility to run a sequence of ODBC API calls found in a customer ODBC trace. The end result from this execution provided me with the warning message occurring in a SQLFetch() call when I should’ve observed a return code of SQL_NO_MORE_DATA signaling to the code the last row was fetched and it’s time to move on. Instead the SQL_SUCCESS_WITH_INFO return code is interpreted as success and the SQLGetData calls are made to retrieve the column data from the assumed row. These calls return SQL_NO_DATA_FOUND. This confused the python ODBC interface code resulting in an error but without a message. The lack of information was difficult at first to ascertain but after checking some diagnostics described in part one a sequence of calls fed into ODBC Test reproduces the scenario. By verifying the sequence it’s now time to incorporate the calls into a C code application so it can be utilized as a debugging tool by the engineers who will resolve the ASE ODBC driver bug causing the abnormal behavior.

    Why not just debug from ODBC Test you may ask. The answer is simple: While running the ODBC sequence it’s far more efficient to have an application we can run from a console, rather than manually making the calls in ODBC Test, plugging in argument values one at a time. Once the C application is refined the ODBC app is ready for engineering to take it over and run it through their debugging utilities since we’re clear on how to replicate the problem.

    Login to read the article. Not a member? Create a free account!

    Released: January 2, 2013, 5:35 pm | Updated: January 31, 2014, 9:37 pm
    Keywords: ASE Developer Article | Technical Journal | ASE | ASE Development | Development | ODBC | Paul Vero


     

     

    TwitterLLinkedinLFacebook

    Copyright © 2014 ISUG-TECH. All Rights Reserved
    All material, files, logos and trademarks within this site are copyright their respective organizations

    Terms of Service - Privacy Policy - Contact the Help Desk