no data in the DMFACT table


Cognos Controller 10.1 (version 10.1.2159)

Oracle database datamart ( dm version 43 )

Windows 2008 R2 server



After a publish to datamart from inside the Cognos Controller client there is no data in the DMFACT table. The publish (export) are very quick – a few minutes – and when you check there is no data in the DM tables in the Datamart.


Possible Solution:

You need to ensure that the text for provider and data source are spelled the same in Cognos Controller Configuration for both database connections and Database Connections for publish to datamart. If there are capitals letters they need be the same one both configurations for the two databases, one for the controller data and one for the datamart to be used by Cognos Controller.

The datamart must be of the same database version as the Cognos Controller database, you can not have Cognos Controller in Oracle and the datamart in a Microsoft SQL database, then you will get a “finish with error” when you do the Publish for datamart in Cognos Controller Client.

When you define the datamart inside Cognos Controller, you must set the additional target to be Cognos BI. This will create the data in the database you have defined inside Database Connections for publish to datamart. If you leave it blank it will try to publish the DM data to the same database as your Cognos Controller database. Set additional target to Cognos BI, save the definition, and then go to Transform – Publish Data and Structures – Publish Data Mart.

Only select Period there you have data – otherwise you can get a error message like “no data found” – and select all structures. In this dialog then the Target must be “IBM Cognos BI” and not “none”.

Ensure you have the ojdbc6.jar file in the c:\program files(x86)\ibm\cognos\c10 folder to make the dbconv.exe file to work.  If there are issues, try the :\program files(x86)\ibm\cognos\c10\legacy\dbconv.exe file instead. Point to the udl file in dmdata folder and check that it is of the right DM version.

Changes to the datamart udl take affect direct, but you can restart the Batch service to make them work better.

More information: