Just nu i M3-nätverket
Gå till innehåll

Transactions och COM objekt i stored procedures??


Anders (interakt.nu)

Rekommendera Poster

Anders (interakt.nu)

Jag har en fråga kring hur Transactions fungerar. Jag har en stored procedure som gör ett par olika saker, bl a anroppar ett COM objekt som skickar iväg ett mail. Om jag nu vill använda mig av transactions för att vara säker på att hela stored proceduren slutförs så att alla uppgifter i datbasen stämmer, kommer detta gälla även COM anroppet.

 

Frågan är alltså; utföra SQL servern alla kommandon i storedproceduren för att sedan "ångra" dessa vid en eventuella roll back, eller håller den alla kommandon i "minnet" och genom för allt när den kommer ner till commit??

Länk till kommentar
Dela på andra webbplatser

Tomas Nilsson

Om du använder COM i SP:s så har du svårt för att garantera transaktionerna därför att COM-objektet gör saker "utanför" SQL Servern.

 

Exempel: Om COM-objektet skickar mail så kommer det mailet förmodligen att ha nått minst din ISP när du begär rollback.

 

Du kan hantera rollback på COM-nivå, men det kräver dels att det COM-objekt som du jobbar med stödjer det, dels att du hanterar det manuellt i dina SP:s! Det finns, så vitt jag vet, inget stöd för rollback annat än för SQL Servers egna funktioner.

 

Ps. Var noga med att hantera COM-objektet ordentligt (t ex att stänga det) annars riskerar du instabilitet av SQL Servern.

 

/Tomas

http://www.iludev.com/

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...