Как установить время ожидания при заполнении временной таблицы на основе сложного запроса? - PullRequest
1 голос
/ 07 октября 2009

Как установить время ожидания команды в следующей ситуации? Просто чтобы уточнить, я уже установил тайм-аут соединения в строке подключения, но мне также нужно установить тайм-аут команды, потому что я хочу, чтобы запрос мог работать 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 Ответ

8 голосов
/ 07 октября 2009

Вы можете создать 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);
...