【问题标题】:SqlException, Timeout expired. The timeout period elapsed prior to completion ... where do I increase this timeout period?SqlException,超时已过期。超时时间在完成之前已经过去......我在哪里增加这个超时时间?
【发布时间】:2011-03-02 15:42:36
【问题描述】:

我在使用 LINQ to SQL 生成的较大报告中不断收到此超时错误。

w3wp.exe,NT AUTHORITY\NETWORK 服务,SqlException,超时 已到期。超时时间已过 手术完成前 或者服务器没有响应。 ... NT AUTHORITY\NETWORK SERVICE, 7, NT AUTHORITY\NETWORK SERVICE, False,
在 System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,布尔型 breakConnection)

在 web.config 中,我已将 Connect Timeout = 3600 添加到连接字符串中,但它再次发生,这是增加此超时的正确方法吗?

是通过 web.config 还是 IIS 完成的?在我优化这个东西的同时需要增加它。

【问题讨论】:

    标签: linq-to-sql


    【解决方案1】:

    您可能需要在 DataContext 上设置CommandTimeout

    【讨论】:

    • 您链接的页面显示“此默认值由存储提供商设置。请注意,如果此值设置为非零值,某些提供程序可能会引发异常。所以这让我觉得我可以在 SQL Server 2005 中更改它,这样我就可以在等待补丁日时立即修复。知道如何做到这一点吗?
    • 我不知道这是否可行,但如果它是一个您不介意尝试的开发环境,您可以尝试 sp_configure 'remote query timeout', 600 GO RECONFIGURE GO msdn.microsoft.com/en-us/library/ms177457(v=SQL.90).aspx跨度>
    • 谢谢,那一定不是,因为它已经设置为默认 600,即 10 分钟,并且事情在 30-90 秒之间超时......啊,我看到了:“这个值有对数据库引擎收到的查询没有影响。”这可能就是为什么,看起来补丁必须是解决方案:)
    猜你喜欢
    • 2015-10-03
    • 2013-11-23
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多