基于复杂查询填充临时表时如何设置超时?
Posted
技术标签:
【中文标题】基于复杂查询填充临时表时如何设置超时?【英文标题】:How do I set the timeout when filling a temporary table based on a complex query? 【发布时间】:2009-10-07 05:07:02 【问题描述】:以下情况如何设置命令超时?澄清一下,我已经在连接字符串中设置了连接超时,但我还需要设置命令超时,因为我希望查询能够在需要时运行 5 分钟,但它会在不到一分钟的时间内超时一会儿。
String reportQuery = @" complicated query returning many rows ";
SqlConnection ReportConnect = new SqlConnection(ConnectionString);
ReportConnect.Open();
DataSet tempDataset = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(reportQuery, ReportConnect);
da.Fill(tempDataset);
【问题讨论】:
【参考方案1】:您可以创建一个SqlCommand
在命令上设置CommandTimeout
属性,然后将其传递给数据适配器的构造函数。是这样的:
String reportQuery = @" complicated query returning many rows ";
SqlConnection ReportConnect = new SqlConnection(ConnectionString);
ReportConnect.Open();
SqlCommand command = new SqlCommand(reportQuery, ReportConnect);
command.CommandTimeout = 300; //5 mins
DataSet tempDataset = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(command);
da.Fill(tempDataset);
【讨论】:
以上是关于基于复杂查询填充临时表时如何设置超时?的主要内容,如果未能解决你的问题,请参考以下文章