SYMPTOM:
When using an IBM DB2 driver (with versions 8.01.03.132 and 8.01.05.449) during an ETL process, an attempt is made to populate a table with data selected from another blank table. For example, this occurs when attempting to update the statistics tables from a previous version of Strategy’s platform to a newer version. If there is a blank table in the old version of the statistics, and a select statement is executed on this empty table from update scripts, users receive the following error message:
Function Sequence Error
This error message is returned after an ODBC call to SQLNumResultCols.
Functions such as SQLNumResultCols and SQLExecDirect are ODBC functions that can be executed one by one to troubleshoot issues in a tool such as Microsoft’s ODBC test tool, referenced below.
To reproduce the issue, perform the following steps:
The ‘Function Sequence Error’ error message now appears.
CAUSE:
This is caused by a known driver issue, and is not directly related to the Strategy platform.
This issue occurs because the execution of the SQLEXECDIRECT returns SQL_NO_DATA_FOUND. The ODBC driver manager does not properly handle this returned message. Therefore, when users submit SQLNumResultsCols, the driver manager and the ODBC driver are not in the proper state to perform this command.
WORKAROUND:
IBM Technical Support has provided the following workaround for this issue:
Now, submitting the SQLNumResultsCols will return SQL_SUCCESS with a value of 0 (or TRUE).
Third Party Software Installation
WARNING:
The third-party product(s) discussed in this technical note is manufactured by vendors independent of Strategy. Strategy makes no warranty, express, implied or otherwise, regarding this product, including its performance or reliability.