Cri*_*usa 15 c# sql-server smo
的SqlCommand类有一个取消方法是,根据该文件,允许一个取消命令.
我正在寻找通过smo Server类执行的命令的等效方法.该ServerConnection级(服务器类的connectioncontext场)有取消方法,但文档不是它做什么明确的.
该SeverConnection.Cancel()方法的工作原理与该方法类似SqlCommand.Cancel(),并且文档指出:
如果没有什么可以取消,则不会发生任何事情。但是,如果正在处理命令,并且尝试取消失败,则不会生成异常。
在某些极少数情况下,如果您调用 ExecuteReader,然后在调用 Cancel 之前调用 Close(隐式或显式),然后调用 Cancel,则取消命令将不会发送到 SQL Server,并且在您调用 Close 后结果集可以继续流式传输。为了避免这种情况,请确保在关闭读取器或连接之前调用“取消”。
这意味着如果您在调用该close()方法之前调用它,则取消方法将起作用。
如果您在之后调用它,该命令将不会发送到 sql,从而导致在调用该close()方法之后继续流式传输到 sql。
此外,如果正在处理命令并且尝试取消失败,您将不会收到错误,因为在这种情况下不会生成异常。