IBM Support

BIRT Reports Fail with "Report Document Error While Loading Data" After Upgrading to IBM TRIRIGA 5.0.

Troubleshooting


Problem

After upgrading IBM TRIRIGA to version 5.0.x, certain BIRT reports fail with the following error:
Report document error while loading data
The following items have errors:
Table (id = 59)=
+ A report document error occurred when loading: Result Data.
+ Cannot invoke "org.eclipse.birt.report.engine.extension.IQueryResultSet.getRowIndex()" because "rset" is null

Cause

This issue occurs when running SQL-based BIRT reports in environments where DB2 is used as the database and the system has been upgraded to TRIRIGA version 5.0.x. The problem is due to a change in the behavior of the DB2 JDBC driver, which now returns column names instead of column labels by default. Since BIRT expects column labels, this mismatch results in a null result set error.

Setting useJDBC4ColumnNameAndLabelSemantics="2" directs the DB2 JDBC driver to return column labels rather than column names, aligning with the behavior expected by BIRT reports. This configuration is particularly important for DB2 environments due to changes introduced in newer JDBC drivers that affect how column names and labels are resolved.

It does not affect other databases such as Oracle or SQL Server, nor does it impact TRIRIGA versions outside of the 5.0.x series.

Note: Before applying this setting, it is strongly recommended to back up your server.xml file to prevent any issues and ensure a smooth rollback if needed.

Resolving The Problem

1. Stop the Application Server

Shut down the IBM TRIRIGA application server before making configuration changes.

2. Modify server.xml Configuration

Locate the server.xml file in your application server configuration directory.

Add the following line inside the relevant <dataSource> element:
<properties.db2.jcc useJDBC4ColumnNameAndLabelSemantics="2"/>

This setting ensures that the JDBC driver returns column labels as expected by BIRT.

Sample Snippet:
<dataSource jndiName="jdbc/local/DataSource-TRIRIGA-data" 
            transactional="true" 
            type="javax.sql.DataSource" 
            statementCacheSize="10" 
            isolationLevel="TRANSACTION_READ_COMMITTED"
            commitOrRollbackOnCleanup="commit" 
            syncQueryTimeoutWithTransactionTimeout="true" 
            supplementalJDBCTrace="false">
    <jdbcDriver id="db2" libraryRef="tririgaLib" />
    <properties.db2.jcc 
        URL="jdbc:db2://9.30.43.195:60000/test16" 
        databaseName="test16" 
        serverName="9.30.43.195" 
        portNumber="60000"  
        jdbcCollection="NULLIDR1" 
        user="test16" 
        password="********" />
    
    <properties.db2.jcc useJDBC4ColumnNameAndLabelSemantics="2"/>
    
    <connectionManager maxPoolSize="100" 
                       minPoolSize="10" 
                       purgePolicy="ValidateAllConnections"
                       connectionTimeout="10s" 
                       maxIdleTime="30m"
                       agedTimeout="30m"/>
</dataSource>

Recommendation: Back up the server.xml file before making any changes.

3. Restart the Server

Start the application server to apply the updated configuration.

4. Validate the Reports

Run the affected BIRT reports again. They should now load successfully without the error.

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB77","label":"Automation Platform"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSHEB3","label":"IBM TRIRIGA Application Platform"},"ARM Category":[{"code":"a8m0z000000br83AAA","label":"Platform-\u003EReports-\u003EBirt Reports"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.0.0"}]

Document Information

Modified date:
23 June 2025

UID

ibm17237607