sql >> Database teknologi >  >> RDS >> Sqlserver

Udføre en lagret procedure fra en Windows-form asynkront og derefter afbryde forbindelsen?

Dette er faktisk et ganske almindeligt scenarie. Du kan ikke gøre noget klientbaseret, fordi klienten kan forsvinde og afbryde forbindelsen, og du vil miste det arbejde, du har opnået indtil nu. Løsningen er at bruge Service Broker Activation :du opretter en service i databasen og vedhæfter en aktiveret procedure. I din ansøgning (eller ASP-side) sender du en besked til tjenesten og indlejrer de nødvendige parametre til din procedure. Når din ansøgning er forpligtet, aktiverer meddelelsen serviceproceduren. serviceproceduren læser parametrene fra meddelelsen og starter din procedure. da aktivering sker på en servertråd, der ikke er relateret til din oprindelige forbindelse, er dette pålideligt. Faktisk kan serveren endda lukke ned og genstarte mens din procedure udføres, og arbejdet vil blive rullet tilbage og derefter genoptaget, da aktiveringsmeddelelsen vil udløse serviceproceduren igen efter genstart.

Opdater

Jeg har offentliggjort detaljerne om, hvordan man gør dette, inklusive eksempelkode på min blog:Asynkron procedureudførelse .



  1. opdatere forespørgsel med join på to tabeller

  2. Hvordan kan du vise nul i en række ved at bruge år og måneds dynamik i et interval?

  3. INDSÆT I ... PÅ DUPLIKAT OPDATERING alle værdier

  4. Applikationsnavn i JDBC-webadresse ved hjælp af c3p0