【问题标题】:Setting CommandTimeout in Microsoft's Data Access Application Block (SQLHelper)在 Microsoft 的数据访问应用程序块 (SQLHelper) 中设置 CommandTimeout
【发布时间】:2010-04-16 17:27:27
【问题描述】:

我正在使用数据访问应用程序块 (SQLHelper) 对数据库执行 SQL。我有一个查询比默认命令超时 30 秒要长。我想延长超时时间,但如果不打开应用程序块,我看不到任何方法。有什么方法可以在不修改 SQLHelper 类的情况下更改 CommandTimeout?

【问题讨论】:

  • 我放弃并修改了应用程序块。

标签: .net application-blocks sqlhelper command-timeout


【解决方案1】:

我也找不到答案,所以我将 DAAB 中的 SQLHelper.cd 复制到我的项目中并开始使用它。 (它只是存档,所以很容易)

现在我可以在 SQLHelper.cs 中更改连接超时。

我不知道为什么这在 DAAB 中不可配置

曼杰什

【讨论】:

    【解决方案2】:

    SQLHelper 在较新版本的 DAAB 中为 replaced by 'Database'。 然后您可以使用 DbCommand.SetCommandTimeOut - 请参阅 here

    【讨论】:

      【解决方案3】:

      如果您仍在使用旧版本的 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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-21
        • 1970-01-01
        • 2011-04-21
        • 1970-01-01
        • 2012-03-28
        • 2014-11-23
        相关资源
        最近更新 更多