我们将一些旧软件迁移到新服务器。我们以前用的是SQL Server 2008 Enterprise,现在在新机器上用的是SQL Server 2014 Enterprise,所以现在应该更快了。
旧软件是遗留软件,即将过期,所以我不想花太多精力去修复它。但是由于某种原因,有一个 C# 函数针对我收到错误消息的数据库运行 SQL 查询
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
我读到的所有内容是,我必须使用 CommandTimeout
来延长超时时间。但不幸的是,一切都在“context connection = true”下运行。因此,如果有机会更改超时,重建此功能将需要相当多的工作。
我问自己,为什么它在旧机器上运行,而在新机器上却不行。所以它必须对新机器或新的 SQL Server 引擎做些什么。有什么方法可以更改 .NET Framework 或 SQL Server 中命令的标准超时 30 秒吗?
非常感谢您的任何建议!
最佳答案
您可以使用 CommandTimeout
属性设置命令的超时:
var cmd = new SqlCommand { CommandTimeout = 60 }
关于c# - 全局更改 CommandTimeout 默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35609331/