sql:在连接字符串中设置连接超时

时间:2017-04-10 11:55:26

标签: sql connection-string connection-timeout

在控制台应用程序中,我有一个像这样的连接字符串:

Data Source=localhost;Initial Catalog=database_name;Integrated Security=True;Connect Timeout=100

我已阅读here我需要将 Connect Timeout 添加到连接字符串以设置超时,但如果我运行的查询包含

WAITFOR DELAY '00:00:40';

我将收到超时异常,因此似乎忽略了连接字符串中的timeoput。那么如何在连接字符串中设置超时(而不是在连接或命令对象上)?

2 个答案:

答案 0 :(得分:2)

有两个与SQL连接/命令相关的超时 - 有连接超时,它会影响连接尝试打开时愿意等待的时间,以及命令超时会影响正在执行的单个命令等待的时间。

您需要调整其中的第二项 - 例如在CommandTimeout对象上设置SqlCommand属性。

答案 1 :(得分:0)

不被忽视,这是行为......如果超时,它会引发异常。如果它没有超时,它将一直运行,直到返回查询。

只需使用try-catch块并在抛出异常时执行您想要的操作。