Время ожидания при использовании sql helper(Microsoft.ApplicationBlocks.Data)

У меня возникают проблемы с тайм-аутом при работе с длинными SQL-запросами. Набор данных, для которого тайм-аут для длинных запросов:

static public DataSet Getxxxx(Guid xxxx)
{
    DataSet ds = SqlHelper.ExecuteDataset(ConnectionString, CommandType.StoredProcedure, "GetAllxx", new SqlParameter("@productxx", productxx));

    return ds;
}

Где я могу установить тайм-аут, я использую приложение Microsoft версии 2.0.

1 ответ

Блок приложения доступа к данным SqlHelper был исключен в пользу "базы данных", поэтому вам нужно явно создать DbCommand и передать его Database.ExecuteDataSet, Затем вы можете установить CommandTimeout свойство, чтобы переопределить значение по умолчанию 30 секунд. например, это устанавливает время ожидания на 200 секунд:

using (DbCommand command = this.Database.GetStoredProcCommand("GetAllxx"))
{
    Database.AddInParameter(command, "@productxx", DbType.Int32, productxx);
    command.CommandTimeout = 200;
    return Database.ExecuteDataSet(command);
}
Другие вопросы по тегам