When running a very expensive query, I always got timeouts when running this query on Friday's ;-) (Yes, I’m loving the predictability of our DB2 database)
The first thing I did to prevent the query from timing out was increasing the DbCommand timeout property:
1: var command=new DB2Command();
2: //Increase timeout to 300 seconds
3: command.CommandTimeout=300;
But after 60 seconds the query still timed out. So as I was using this query inside a TransactionScope, I also increased the transaction timeout:
1: //Initialize the transactionscope with a 300 seconds timeout interval
2: using(var transactionScope=new TransactionScope(TransactionScopeOption.Required,new TimeSpan(0,5,0))
3: {
4: ...
5: }
And even that was not enough, so I finally also increased the timeout interval of the DTC:
The Transactions Timeout value is located in the My Computer Properties dialog, which can be available in "Administrative Tools -> Component Service -> Computer -> My Computer ->
Right-click My Computer and then click Properties".