Gestione transazione con vbnet 2005 utilizzando sql server 2005

venerdì 02 marzo 2007 - 17.31

trinity Profilo | Guru

Salve ragazzi,
volevo chidervi un'info, io quando vado ad effettuare una stored di inserimento dati in una tabella di un db sql server 2005 avvio una transazione di questo genere:


Try
SqlTrans = Db.BeginTransaction
SqlCmd.Transaction = SqlTrans
....codice scritto......
SqlCmd.Connection = Db
SqlCmd.CommandType = CommandType.StoredProcedure
SqlCmd.ExecuteNonQuery()
SqlTrans.Commit()
Catch ex As Exception
SqlTrans.Rollback()
Throw ex
Finally
SqlCmd.Parameters.Clear()
SqlCmd.Dispose()
End Try

e tutto funziona alla perfezione, ma la mia domanda è la seguente:
ipotiziamo che mentre sto facendo un inserimento il pc si resetta per delle sua anomalie oppure va via la corrente, proprio e sembrerà impossibile in quella frazione di secondo in cui sta avvenendo la transazione. Di conseguenza se nn avviente con esito positivo il commit la transazione non verrà eseguita, giusto? e gli ultimi dati nn saranno presenti nel db, giusto?

Ciao


Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/

alextyx Profilo | Expert

Per quanto ne so io, SQLServer garantisce tutte le caratteristiche delle transazioni e quindi se ti crasha il sistema fino ad un attimo prima del commit, il tutto equivale ad un rollback!

trinity Profilo | Guru

Perfetto grazie mille era la conferma che volevo.

ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5