我在处理长sql查询时遇到超时问题,长查询超时的数据集是:
static public DataSet Getxxxx(Guid xxxx)
{
DataSet ds = SqlHelper.ExecuteDataset(ConnectionString, CommandType.StoredProcedure, "GetAllxx", new SqlParameter("@productxx", productxx));
return ds;
}
我在哪里可以设置超时,我正在使用 Microsoft 应用程序块版本 2.0。
数据访问应用程序块SqlHelper
已经逐步淘汰,取而代之的是“数据库” http://social.msdn.microsoft.com/forums/en-US/adodotnetdataproviders/thread/fd9229c0-53d0-4b3b-a7da-5df4047343a3/,所以你需要显式创建一个DbCommand
并将其传递给Database.ExecuteDataSet
。然后您可以设置CommandTimeout财产 https://msdn.microsoft.com/en-us/library/system.data.idbcommand.commandtimeout(v=vs.110).aspx,覆盖默认值 30 秒。例如这将超时设置为 200 秒:
using (DbCommand command = this.Database.GetStoredProcCommand("GetAllxx"))
{
Database.AddInParameter(command, "@productxx", DbType.Int32, productxx);
command.CommandTimeout = 200;
return Database.ExecuteDataSet(command);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)