Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 执行sql脚本,不要等待完成_Asp.net_Sql_Sql Server_Vb.net - Fatal编程技术网

Asp.net 执行sql脚本,不要等待完成

Asp.net 执行sql脚本,不要等待完成,asp.net,sql,sql-server,vb.net,Asp.net,Sql,Sql Server,Vb.net,我有一个sql存储过程,运行大约3分钟,我希望从asp.net执行这个存储过程,但我知道如果我这样做,asp.net很可能会超时 我正在考虑在sql中创建一个作业,让它执行该存储过程,并让asp.net调用一个存储过程来调用该作业。 我有一个在存储过程开始和结束时更新的表 我的应用程序将使用它来确定脚本何时完成,但是,我想知道是否有其他方法来运行存储过程,而不是让它等待它完成后将响应推回 我只是想知道是否有更有效的方法来实现这一点,或者我是否应该坚持为需要永远运行的脚本创建作业。如果您不关心结果

我有一个sql存储过程,运行大约3分钟,我希望从asp.net执行这个存储过程,但我知道如果我这样做,asp.net很可能会超时

我正在考虑在sql中创建一个作业,让它执行该存储过程,并让asp.net调用一个存储过程来调用该作业。 我有一个在存储过程开始和结束时更新的表

我的应用程序将使用它来确定脚本何时完成,但是,我想知道是否有其他方法来运行存储过程,而不是让它等待它完成后将响应推回


我只是想知道是否有更有效的方法来实现这一点,或者我是否应该坚持为需要永远运行的脚本创建作业。

如果您不关心结果,可以使用
SqlCommand.beginexecutenquery()
方法。这将在后台线程上触发该命令。有关的详细信息。

听起来这将是一个很好的使用候选。

请查看本文:。文章给出了代码示例,并解释了为什么利用内部代理比依赖SQL代理作业更好。这样的运行过程是可靠的(与ADO.NEt异步BeginExecuteXXX不同,即使客户端断开连接,也能保证执行)即使在SQL Server重新启动之后,甚至在灾难恢复服务器重建之后,执行也会发生。

我以前使用过作业方法,但我认为这里接受的答案可能更好。。。可能是重复的,我刚才也在看这篇文章,这似乎解决了我的问题。感谢您的快速回复。我正在使用oracle,对于oracle客户端,我不能使用异步过程执行!所以在sql中创建作业以使其执行该存储过程将是最好的方法?@frank如果您有问题,请将其作为单独的问题询问。我是这样做的。。。在本例中,我无法使用BeginExecutenQuery,因为我没有使用SqlCommand来执行存储过程,而是使用数据集模板来管理sql脚本,这也使得使用它更容易。但是谢谢!