sql >> Databasteknik >  >> RDS >> Sqlserver

Köra en lagrad procedur från ett Windows-formulär asynkront och koppla sedan bort?

Detta är faktiskt ett ganska vanligt scenario. Du kan inte göra någonting klientbaserat eftersom klienten kan försvinna och koppla från och du kommer att förlora det arbete som uppnåtts hittills. Lösningen är att använda Service Broker Activation :du skapar en tjänst i databasen och bifogar en aktiverad procedur. I din applikation (eller ASP-sida) skickar du ett meddelande till tjänsten och bäddar in de nödvändiga parametrarna för din procedur. När din ansökan har bekräftats aktiverar meddelandet serviceproceduren. serviceproceduren läser parametrarna från meddelandet och anropar din procedur. eftersom aktivering sker på en servertråd som inte är relaterad till din ursprungliga anslutning är detta tillförlitligt. Servern kan faktiskt till och med stänga av och starta om medan din procedur körs och arbetet kommer att rullas tillbaka och sedan återupptas, eftersom det aktiverande meddelandet kommer att utlösa serviceproceduren igen efter omstarten.

Uppdatera

Jag har publicerat detaljerna om hur man gör detta inklusive exempelkod på min blogg:Asynkron procedurkörning .



  1. MySQL Workbench - Anslut till en lokal värd

  2. Jag kan inte hitta en ledtråd om "Oracle SQL Developer" och "Oracle Database 12c" i Linux-skalet

  3. Finns det några alternativ till ett gåbord för många-till-många föreningar?

  4. Hur kan jag få de mest populära orden i en tabell via mysql?