ODBC: prepared execution with no parameters can break the connection

Details

Detail name Value
Changelog Number 17451
Type Bug
Status Resolved
Affected Versions Exasol 7.1.17
Fix Versions Exasol 7.1.22, Exasol 8.21.0
Resolution Date 2023-07-24

Description

In the following scenario, the SQLExecute function will fail with the error message Error executing statement:

  • The query cache feature must be enabled in your session (this is enabled by default)
  • You execute a select statement using the ODBC Driver with SQLPrepare and SQLExecute
  • There are no parameters given in the query
  • The select statements creates a large resultset which is from the query cache.Y

Workaround

Changing any of the above conditions will not cause the error to occur. Several workarounds include:

  • Use the Exasol ODBC driver 7.1.16 driver
  • Disable query cache for the session (this may have a performance impact)
  • Use SQLExecDirect instaed of SQLPrepare and SQLExecute

Fix

In the above scenario, the ODBC function works as expected