为什么更改CommandTimeout无法正常工作

时间:2013-01-22 04:57:55

标签: sql-server ado.net

我有使用Entity Framework和ADO.net的MVC2应用程序。在ADO.net SqlCommand连接中,它得到,

'/'应用程序中的服务器错误。 超时已过期。操作完成之前经过的超时时间或服务器没有响应。

代码是,

using (SqlCommand command = conn.CreateCommand())
{
    var commandText = "exec 'stored producedure name'";
    command.CommandTimeout = 240;

    SqlDataAdapter da = new SqlDataAdapter(commandText, conn);
    DataSet ds = new DataSet();
    da.Fill(ds, "Table");
}

存储过程大约需要3分钟才能完成。所以我将CommandTimeout从默认30秒更改为240秒(4分钟)。然而,在大约30秒运行后它仍然会出现“超时”错误。看起来看起来CommandTimeout不起作用。代码在VS 2010中运行。如何更改命令超时?

1 个答案:

答案 0 :(得分:1)

您在此处设置的超时是您使用的驱动程序的超时。也许你的SQL服务器本身有一个超时设置。打开SQL管理工作室,连接到SQL服务器,如果在那里设置了另一个超时,则右键单击属性以在选项下检查。在那里将它设置为您的首选值。