日期:2014-05-17  浏览次数:20806 次

ASP如何让SQL Server执行耗时较长的命令?
我设计了一个命令,比如让SQL Server执行全文索引的填充,如果数据库记录数目有数十万条,那么执行耗时必定是一个较长的时间。如果我用一个ASP页面向SQL Server发送这一执行命令,这个页面很可能在等待数据库执行命令的过程中就timeout了。

我想请教,除了设置ASP脚本超时以外,有没有其他方法能让ASP页面不等待SQL Server任务“全部”执行完成,而是在发送命令后便脱离与SQL Server的连接,而后者收到命令后独立执行且不需ASP等待返回值?——换种说法就是如何让ASP与SQL Server异步执行。

------解决方案--------------------
可以试试使用ajax定时器检查执行的情况,
------解决方案--------------------
用消息队列MSMQ即可。
------解决方案--------------------
程序定时检测。。我曾经用过的笨方法,我想像中,多线程,是不是也可以?
------解决方案--------------------
消息队列就是处理这种情况的。
ASP向消息队列发消息,发完就可以返回了。消息队列收到消息就触发程序来执行SQL .
ASP只要在任何时候去取队列中返回的消息,就可以知道是不是SQL执行完了。