Jump to content

2 utilizadores ligado em simultaneo na mesma base dados


ArturLaranja
 Share

Recommended Posts

Bom dia,

Imaginemos que eu tenho 2 utilizadores ligados ao mesmo tempo numa determinada base de dados SQL Server. Pode ser uma aplicação em c#.net. O utilizador 1 faz um insert de um registo numa determinada tabela mas nao fecha a sua ligação à BD. O utilizador 2 nunca verá esse registo sem que o utilizador 1 fecha a ligaçao, correcto? Como posso dar a volta a isto? Quem diz insert diz update ou delete.

Obrigado pela vossa ajuda.

Link to comment
Share on other sites

Por defeito o sql server não lê dados em que não foi feito Commit.

Mas isso é opcional, podes explicitamente dizer que queres ler dados Uncommited.

Podes fazer via query: Select * from Tabela with (no lock)

ou do lado do .net podes usar um TransactionScope com opções, em q pões IsolationLevel.ReadUncommited.

Isto tb pode ser usado em tabelas q sabes q não há concorrencia, optimizando assim o tempo de leitura.

Matraquilhos para Android.

Gratuito na Play Store.

https://play.google.com/store/apps/details?id=pt.bca.matraquilhos

Link to comment
Share on other sites

O que podes fazer e funciona na perfeiçao é quando o utilizador estiver no formulario de inserçao de dados é gerado o codigo correspondente aos dados que vais inserir e guarda-lo logo, se ele continuar a inserir tudo bem, se não aquando da saido do formulario mandas apagar esse codigo. Assim nunca havera redundancia de dados.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.