Just nu i M3-nätverket
Jump to content

Transactions och COM objekt i stored procedures??


Anders (interakt.nu)

Recommended Posts

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??

Link to comment
Share on other sites

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/

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...