如何在以下情况下设置命令超时?只是为了澄清,我已经在连接字符串中设置了连接超时,但我还需要设置命令超时,因为我希望查询能够在需要时运行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);
答案 0 :(得分:8)
您可以在命令上创建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);