2013-03-16 16 views
7

Ho una stored procedure che richiede circa 5-8 minuti per l'esecuzione. L'utente vede solo un messaggio "Attendere mentre viene generato il rapporto" È molto probabile che le persone pensino che ha smesso di funzionare ... o qualcosa è andato storto .. ecc.Stato stored procedure molto lungo

C'è qualche modo una stored procedure può mantenere lo stato di ritorno durante l'esecuzione ..?

ad esempio:

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

Se sì, mi dica anche io come faccio a catturare quelle stato in C#.

Grazie ragazzi.

+0

hai indici appropriati? –

+0

Sì. La stored procedure non è la migliore. Ma questo è ciò che sarà per la prima versione del sito. –

+0

Non voglio aumentare le prestazioni di SP in questo momento .. basta prendere lo stato della stored procedure. –

risposta

0

Interessante! Hai guardato RAISERROR non severo? Guarda this article

3

È possibile utilizzare l'evento InfoMessage per ricevere i messaggi PRINT e RAISERROR sul client.

Se ciò non funziona, temo che dovresti dividere la procedura memorizzata in più procedure più piccole per ottenere lo stato ad ogni passaggio.