1

我有使用 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中运行。如何更改命令超时?

4

1 回答 1

0

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

于 2013-01-22T07:43:56.490 回答