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

sql: set connection timeout in the connection string

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

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

我读过 here 我需要在连接字符串中添加 Connect Timeout 来设置超时,但是如果我 运行 包含

的查询
WAITFOR DELAY '00:00:40';

我会得到一个超时异常,所以似乎连接字符串的时间输入被忽略了。那么如何在连接字符串中设置超时(而不是在连接或命令对象上)?

没有忽略,就是这个行为...如果超时,就会抛出异常。如果它没有超时,它只会 运行 直到查询返回。

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

有两个与 SQL connections/commands 相关的超时 - 有一个 connection 超时,它会影响连接愿意等待的时间尝试打开它,然后 command 超时会影响正在执行的单个命令将等待多长时间。

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