SqlDataAdapter.fill timeout, запрос менее 5 секунд
У меня есть SqlDataAdapter, который заполняется 33k строк данных (около 15 столбцов). При выполнении запроса в MS SSMS я получаю строки примерно через 5 секунд. При использовании моего кода я получаю тайм-аут, даже устанавливая для параметра тайм-аута значение 120 секунд:
private static DataTable getResult(string query, int someId, SqlConnection myConn)
{
SqlCommand myCmd = new SqlCommand(query, myConn);
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
myCmd.Parameters.Add("@someId", SqlDbType.Int);
myCmd.Parameters["@someId"].Value = someId;
da.SelectCommand = myCmd;
da.SelectCommand.CommandTimeout = 120;
da.Fill(dt);
return dt;
}
Я уже пробовал советы от веб-сайтов, такие как получение более высоких номеров соединений и значений тайм-аута без результата по сей день...
Любые идеи о том, как избежать ошибки тайм-аута?
Спасибо за ваши идеи.
1 ответ
Итак, я наконец-то смог избавиться от ошибок тайм-аута, добавив индексы в свои таблицы, как указано на этой странице [MSDN].
Похоже, время кругов отличается от MS SSMS для кода.net...