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...

Другие вопросы по тегам