我正在从'.net'代码执行一个存储过程。由于存在大量数据,因此执行时间过长。有没有办法从c#代码中停止执行?
换句话说,如果我们从数据库本身执行查询,有一个选项可以停止执行,但在代码中是否可以?
答案 0 :(得分:15)
是sqlcommand.cancel是你的朋友http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.cancel.aspx
答案 1 :(得分:11)
是的,您可以使用SqlCommand.Cancel
取消查询。但是,该命令必须在另一个线程中运行(否则只有在命令完成后才会调用Cancel)。
如果要在超过指定时间限制的情况下取消此查询,也可以指定CommandTimeout
。
答案 2 :(得分:1)
你可以做connection = pypyodbc.connect("DRIVER={SQL Server};Server=localhost;User Id=YYY;Password=XXXX;Database=test")
,这样做效果最好,因为即使我过去遇到类似的问题,使用myCommand.Cancel()
我已经解决了我的问题。 :):)