Настройка CommandTimeout в блоке приложения доступа к данным Microsoft (SQLHelper) - PullRequest
3 голосов
/ 16 апреля 2010

Я использую прикладной блок доступа к данным (SQLHelper) для выполнения SQL в базе данных. У меня есть один запрос, который занимает больше времени, чем тайм-аут команды по умолчанию 30 секунд. Я хочу увеличить время ожидания, но не вижу способа сделать это, не взломав блок приложения. Есть ли способ изменить CommandTimeout без изменения класса SQLHelper?

Ответы [ 3 ]

2 голосов
/ 17 января 2012

SQLHelper заменен на «База данных» в более новых версиях DAAB. Затем вы можете использовать DbCommand.SetCommandTimeOut - см. здесь

2 голосов
/ 19 мая 2011

Ну, я также не смог найти ответ, поэтому я скопировал файл SQLHelper.cd из DAAB в свой проект и начал использовать его. (Это просто в файле, так что это было легко)

Теперь я могу изменить время ожидания соединения в SQLHelper.cs.

Понятия не имею, почему это не настраивается в DAAB

Manjesh

0 голосов
/ 12 февраля 2014

Если вы все еще используете старую версию DAAB, существует множество перегрузок FillDataset, для которых в качестве параметра задано время ожидания команды.

    public static void FillDataset(string connectionString, CommandType commandType, int commandTimeout, string commandText, DataSet dataSet, string[] tableNames)

    public static void FillDataset(string connectionString, CommandType commandType, int commandTimeout, string commandText, DataSet dataSet, string[] tableNames, params SqlParameter[] commandParameters)

    public static void FillDataset(string connectionString, string spName, int commandTimeout, DataSet dataSet, string[] tableNames, params object[] parameterValues)

    public static void FillDataset(SqlConnection connection, CommandType commandType, int commandTimeout, string commandText, DataSet dataSet, string[] tableNames)

    public static void FillDataset(SqlConnection connection, CommandType commandType, int commandTimeout, string commandText, DataSet dataSet, string[] tableNames, params SqlParameter[] commandParameters)

    public static void FillDataset(SqlConnection connection, string spName, int commandTimeout, DataSet dataSet, string[] tableNames, params object[] parameterValues)

    public static void FillDataset(SqlTransaction transaction, CommandType commandType, int commandTimeout, string commandText, DataSet dataSet, string[] tableNames)

    public static void FillDataset(SqlTransaction transaction, CommandType commandType, int commandTimeout, string commandText, DataSet dataSet, string[] tableNames, params SqlParameter[] commandParameters)

    public static void FillDataset(SqlTransaction transaction, string spName, int commandTimeout, DataSet dataSet, string[] tableNames, params object[] parameterValues)
...