【发布时间】:2017-07-02 12:50:26
【问题描述】:
我现在已经阅读了一些关于 SQL Server 超时异常的内容。我找到了这两个链接:
how to detect sql server timeout from .NET application without using catch Exception
How to catch SQLServer timeout exceptions
所以 -2 是客户端超时,当我理解这一点时,可以将其用于服务器连接超时和命令超时。 -1 和 -3 是服务器网络错误。
现在。是否有可能在 C# 中捕获异常并区分服务器连接超时和命令超时?
非常感谢!
编辑:例如这里:
https://msdn.microsoft.com/en-us/library/cc645611.aspx
-2 超时已过。在操作完成之前超时时间已过或服务器没有响应。 (Microsoft SQL Server,错误:-2)。
如何检测a) 操作完成或b) 服务器是否没有响应之前的超时时间?这就是问题。
【问题讨论】:
-
如果命令超时,连接是否终止?如果没有 - 你有你的答案
-
连接超时意味着 SQL Server 不响应您的应用调用。命令超时表示 SQL Server 尝试执行命令但无法及时完成
-
是的。我需要处理这个并抛出不同的异常。
-
我知道它们的意思,但是当连接超时发生时,我需要检测它是服务器连接超时还是命令超时。
标签: c# sql-server command timeout