EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB9151: "Database does not support transactions" error message appears when executing a report in MicroStrategy Developer 9.4.x and 10.x against an Informix Dynamic Server database.


Stefan Zepeda

Salesforce Solutions Architect • Strategy


Users attempt to execute a report in MicroStrategy Desktop against an Informix Dynamic Server database and the following error message appears: Database does not support transactions

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:

  • Enable transactions for the warehouse database on the Informix server side.
  • Re-create the report in a different way such that it does not require analytical engine inserts.

 
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


Comment

0 comments

Details

Knowledge Article

Published:

May 15, 2017

Last Updated:

December 30, 2018