Crystal Timeout‏

May 27, 2011

I’ve got a Crystal XI report query that’s going to take a long time to run, so I was wondering how you can set/disable something like a CommandTimeout property in Crystal.

Searched through the first 100 Google results for “Crystal Reports Timeout,” and the closest I found to an answer was a person asking the same question

I’m using Crystal Reports XI. My report contains SQL statement that may take very long time to run. Should I worry about increasing the command timeout? If yes, how can I do it in Crystal Reports XI ? Is it something that is to be done in the Crystal Reports Server level (Central Management Console) or in the reports level?

… which no one had responded to!

Finally found this, in the Crystal HTML Help:

The time out interval determines (in minutes) when inactive report sources are disposed. By default, the timeout interval is 10 minutes. You can configure the Java Reporting Component to have no timeout by setting the value to 0.

The timeout interval only applies to inactive reports—reports that are being processed are not timed out as a result of exceeding this value. [I assume that a report is “inactive” if it’s waiting for the query result set from the server, and that “being processed” would happen after the result set is returned to the report from the server.] Each time a report source request is successfully completed, the timeout timer is reset. If a report source is not used within the timeout interval, it is disposed and its resources are made available to other processes.

For Crystal Reports XI R2, the CRConfig.xml file is installed by default in the \Program Files\Business Objects\common\3.5\java directory.


Query Timeout Expired

May 2, 2011

I was getting “Query timeout expired” errors in the code for doing an import from a back-end ERP into SalesLogix.

So I logged into the database server, right-clicked on the connection, Properties, and then opened the Connections items on the Server Properties form, and changed the Remote query timeout from its default of 600 seconds to 0, to disable that.

Re-ran the code … but it was still giving the same (unpredictable, intermittent) error.

Turns out that the objConn in code has a CommandTimeout property, too … which defaults to 30 seconds. So if you set objConn.CommandTimeout = 0 (or just to a really high number), you can disable that, too.

Those timeouts are of course affected by the speed of the server, so they wouldn’t be occurring on a faster machine.