Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak asynchronicznie wykonać procedurę składowaną serwera sql i zapewnić jej zakończenie?

Spójrz na bibliotekę równoległą zadań C#. Możesz utworzyć zadanie, które jest bardzo proste. Na przykład...

    Task myTask= new Task(() => {
        Console.WriteLine(@"hello");
        //Call stored procedure here
    });
    myTask.start();

Spowoduje to uruchomienie kodu zawartego w zadaniu równolegle z głównym wątkiem. Jeśli chcesz sprawdzić, czy zadanie zostało ukończone, możesz użyć

    if(myTask.IsCompleted())
    {
        Console.WriteLine(@"My task is finished");
    }

Ta metoda pozwala uniknąć zmiany procedury składowanej i umożliwia C# obsługę wydajności.

Edycja:-I aby uniknąć zakończenia głównego wątku najpierw dodaj

    Task.WaitAll(myTask);

Spowoduje to uśpienie głównego wątku do czasu zakończenia zadania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyjątek izolowanego magazynu:nie można określić tożsamości domeny

  2. Pakiet SSIS nie chce pobierać metadanych tabeli tymczasowej

  3. Zaktualizuj jeden z 2 duplikatów w tabeli bazy danych serwera sql

  4. Jakie są zalety używania składni konstruktora wierszy w instrukcji insert T-Sql?

  5. 4 sposoby zapobiegania przeciążeniu alertów dzięki monitorowaniu serwera SQL