SYMPTOM:
Users attempt to execute a report in Strategy Desktop against an Informix Dynamic Server database and the following error message appears:
Database does not support transactions
The Open Database Connectivity (ODBC) driver used is the Strategy ODBC Driver for Informix Wire Protocol that is shipped with the product. The error occurs in both 2-tier and 3-tier modes.
A step in the report execution involves insertion of data from the Strategy analytical engine into temp tables. A excerpt from a report Structured Query Language (SQL) that involves this kind of operation appears as follows:
create temp table ZZT2Y070KCNAB008(
Col_id CHAR(16),
WJXBFS1 FLOAT) with no log
select pa9.Col_id Col_id,
pa9.WJXBFS1 WJXBFS1
from ZZAB08 pa9
where pa9.Col_id in ('123', '456')
into temp ZZOP09 with no log
In the section '', values are inserted into the temp table ZZT2Y070KCNAB008 by running insert SQL statements. For this example, the insert statements are omitted from being displayed in the report SQL.
From analyzing the DSSDatabaseClasses.log and ODBC trace logs, it is observed that the error message occurs after the create statement has executed successfully but before any of the insert statement in the '' section is submitted to the database.
CAUSE:
Before performing analytical engine inserts, transactions are enabled by Strategy engine. Prior to enabling transactions, the ODBC driver or the underlying data source is checked for transaction capability. This check is achieved by polling the database using the SQLGetInfow > SQL_TXN_CAPABLE ODBC call. If the ODBC driver returns SQL_TC_NONE as the result of SQL_TXN_CAPABLE, the Strategy SQL engine fails the report with the 'Database does not support transactions' error message. SQL_TC_NONE means transactions are not supported. This check is achieved by the Strategy engine as a preemptive measure such that the analytical SQL insert statements are not even submitted as transactions if the driver or the underlying data source does not support transactions.
In the above example, transactions have not been enabled on the Informix database side. As a result of this, the ODBC driver returns SQL_TC_NONE as the result of the SQL_TXN_CAPABLE call. Hence, Strategy SQL Engine fails the report with the 'Database does not support transactions' error message.
ACTION:
Perform one of the following actions to resolve the issue:
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.
KB9151