中断执行存储过程
我正在从一个SQL服务器调用存储过程的C#应用程序。 根据用户输入的搜索参数,存储过程可能需要一段时间并返回许多记录。
我想要实现一个取消按钮,这样用户可以在需要很长时间的时候取消存储过程的执行。 我在新线程中运行对存储过程的调用,以便在存储过程需要一段时间时GUI不会受到影响。 我读了关于中止一个线程,但发现许多拒绝有关使用中止的意见。
我想到的可能解决方案:
你可能不想在这里使用Linq。 尝试这个:
停止从.net代码执行SQL查询
基本上使用SqlCommand.Cancel()
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.cancel.aspx
你可以尝试放弃进程服务器端,但它需要高级privilesdge(服务器管理员),所以在大多数情况下它是不可行的。
线程流产可以工作(不推荐),但我不确定数据库会停止处理。
最后,我不确定有什么办法可以有效地做到这一点。
您可以中止该线程,但该查询将仍然运行,因为这是由SQL服务器托管的。
链接地址: http://www.djcxy.com/p/71581.html上一篇: interrupt execution of stored procedure
下一篇: The "right" way to do stored procedure parameter validation