BI Publisher Data Model Timeouts: How to Fix and Avoid Query Timeout Errors

Modified on Thu, 6 Aug at 10:46 AM

COMMENT: Need help navigating the support articles? Go to Get Started

 

COMMENT: Before publishing, wire the red placeholder links in the "What would you like to do next?" table (incremental-load setup article, if/when one exists).

 

Timeout errors can appear when a BI Publisher Data Model query runs against Oracle Fusion. You may hit them in the BI Connector query editor, the VS Code extension, Power BI, Tableau, or in Pipelines. This article explains why they happen and how to fix and avoid them.

 

Note — BI Connector automatically retries a timed-out query up to 3 times before reporting a failure, so a one-off timeout often clears itself. This article is for the reports that still fail after those retries.

 

Why the timeout happens

The cause is often misread. It is usually not about how many rows are returned, and not simply about joining multiple tables. It is about how long the query takes to run from start to finish in Oracle Fusion, even to return the default 5 sample rows.

 

If a query needs more than about 5 minutes just to return 5 sample rows in Oracle Fusion, it will time out. At that point the row count is not the issue; the query itself is too slow to complete end to end.

 

Illustration — A simple query such as select * from GL_BALANCES returns in seconds, even though the table holds millions of rows. A 300+ line query with many joins and nested or advanced functions can take over 5 minutes just to return 5 sample rows.

 

Important — The goal is not to stop joining tables or using advanced functions. It is to optimize the query and split large datasets using a common join key.

 

How to fix and avoid it

Work through these in order of effectiveness.

 

1. Split the dataset into smaller queries with a common join key (most effective)

The most reliable fix is to break one heavy dataset into smaller datasets that each execute quickly, then recombine them in your data visualization tool using a common join key.

 

For example, one user built the AR Register and Aging report as a single Data Model dataset. It had 300+ lines with joins across many tables and advanced functions, and it timed out even on the 50-row BI Connector preview.

 

Splitting it into two datasets, one for AR Register and one for AR Aging, with a join key between them, let both return sample data within seconds. Both still used joins and advanced functions.

 

2. Use Parameters to filter the data to only what you need

Adding Parameters to your query filters the data down to only the rows you need. This reduces the volume Oracle has to process and return, which can eliminate timeouts that are caused by large data volumes.

 

Tip — For date parameters, use BI Connector's dynamic date options such as TODAY, YESTERDAY, LAST x DAYS, and NEXT x DAYS. They let you apply moving date ranges the no-code way, right inside the BI Connector Fusion Query Editor (Fusion IDE) and the VS Code extension.

 

3. Reduce the rows fetched per round-trip

You can also lower how many rows BI Connector pulls from Oracle in each round-trip. This lightens every request and can help when a fetch is timing out under volume.

 

Tip — When setting up the BI Connector Table, open the Configuration screen and reduce No of Rows per Fetch from the default 50,000 to a smaller value. BI Connector will make more round-trips, each one lighter on Oracle.

 

4. Set up an incremental load (last resort)

If you cannot modify the query right away, you can try an incremental load. Schedule the initial full load for non-peak hours; if it completes, later incremental loads pull only new or changed rows and run faster and more easily.

 

Important — Keep this as a last resort, not a guaranteed fix. Setting up an incremental load does not ensure the first full load will succeed, since it must still complete once. Optimize and split the query whenever you can.

 

Recommended order

In short — In order of effectiveness: (1) optimize the query and split it into smaller datasets joined by a common key in your BI tool; (2) use Parameters to filter the data; (3) reduce No of Rows per Fetch; (4) as a last resort, try an incremental load.

 

What would you like to do next?

Next stepGo to
Get started with BI Publisher Data Models in BI ConnectorSetup a BI Connector Data Source