在以下情况下如何设置命令超时时间?为了澄清起见,我已经在连接字符串中设置了连接超时,但是我还需要设置命令超时,因为我希望查询能够在需要的情况下运行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);
最佳答案
您可以在命令上创建一个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);
关于c# - 基于复杂查询填充临时表时如何设置超时?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1529580/