SqlCommand
类有一个Cancel方法,根据文档,可以取消命令。
我正在寻找通过smo Server
class执行命令的等效方法。 ServerConnection
类(服务器类的connectioncontext字段)has a Cancel method但文档不清楚它的用途。
答案 0 :(得分:1)
SeverConnection.Cancel()
方法同样与SqlCommand.Cancel()
方法和Documentation状态:
如果没有要取消的内容,则不会发生任何事情。但是,如果正在处理命令,并且尝试取消失败,则没有例外 产生。
在一些罕见的情况下,如果您调用ExecuteReader,则调用Close (隐式或显式)在调用Cancel之前,然后调用 取消,取消命令将不会发送到SQL Server和 调用Close后,结果集可以继续流式传输。要避免这种情况, 确保在关闭阅读器之前调用取消或 连接。
表示取消方法有效,如果您在调用close()
方法之前调用它。
如果你之后调用它,该命令将不会被发送到sql,导致在调用close()
方法后继续流到sql。
此外,如果正在处理命令且取消尝试失败,您将不会收到错误,因为在这种情况下不会生成异常。