【问题标题】:Very lengthy stored procedure status非常长的存储过程状态
【发布时间】:2013-03-16 04:54:48
【问题描述】:

我有一个大约需要 5-8 分钟才能执行的存储过程。 用户只看到一条消息“正在生成报告,请稍候” 人们很可能会认为它已经停止工作……或者出了什么问题……等等。

存储过程有什么方法可以在执行时保持返回状态..?

例如:

{logical block 1}
logical block 1 completed!
{logical block 2}
logical block 2 completed!
{logical block 3}
logical block 3 completed!

如果是,请告诉我如何在 c# 中捕获这些状态。

谢谢大家。

【问题讨论】:

  • 你有合适的索引吗?
  • 是的。存储过程不是最好的。但这就是网站的第一个版本。
  • 我现在不想提高SP的性能..只需要捕获存储过程的状态。
  • “治标不治本”
  • 你可以使用Raiserror

标签: c# asp.net sql sql-server stored-procedures


【解决方案1】:

您可以使用InfoMessage 事件在客户端接收PRINTRAISERROR 消息。

如果这不起作用,恐怕您必须将存储过程拆分为多个较小的过程才能在每个步骤中获取状态。

【讨论】:

    【解决方案2】:

    有趣!你看过非严重的 RAISERROR 吗?看this article

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-09
      • 1970-01-01
      • 2022-07-16
      • 2022-01-01
      • 1970-01-01
      相关资源
      最近更新 更多