Visual Basic.NET - Consistencia ante concurrencia

 
Vista:

Consistencia ante concurrencia

Publicado por Geronimo (17 intervenciones) el 22/04/2006 19:21:05
Tengo una duda acerca de la consistencia en los datos fisicos cuando existe concurrencia y trabajo con el modelo desconectado.
Según tengo entendido, ADO.NET tiene la capacidad de levantar los datos necesarios a un DataSet desde la BD física y desconectarse de ésta hasta que sea nuevamente necesaria una conexion.
Me puse a pensar en un caso en el que no se como manejaría la consistencia de los datos físicos siguiendo el modelo desconectado.
1) Tengo 2 procesos en 2 maquinas diferentes y ambos pueden acceder a los mismos registros de una tabla en la bd fisica.
2) Levanto todos los registros de "tabla1" a un DataSet en ambos procesos al mismo tiempo.
3) El proceso1 modifica el campo1 (que actualmente vale 5) en el registro1 de tabla1 en el DataSet incrementando en 2 el valor del campo1 (5+2=7). Luego actualiza los datos en la bd fisica.
4) El proceso2 ahora tendría los datos desactualizados en su DataSet y realiza la misma operacion que el proceso1.
La pregunta es la siguiente. En la tabla física el campo1 es igual a 7 y si la tarea del proceso2 es la misma del proceso1 debería incrementar en 2 el valor del campo en la tabla fisica (7+2=0) pero por tener los datos desactualizados en el DataSet al actualizar los datos haria (5+2=7). Existe un control de la concurrencia y la consistencia de los datos utilizando un modelo desconectado?
Quisiera saber cual es el mecanismo utilizado por ADO .NET para estos casos o si el tratamiento de la concurrencia sería tratado por el motor de la bd.
Saludos y gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consistencia ante concurrencia

Publicado por Cesar (2 intervenciones) el 24/04/2006 21:49:44
Hola amigo...hasta donde yo se..no existe un mecanismo propio de ADO.NET(clases ) para controloar la concurrencia, entiendo tu problematica ya que yo tambien me lo he planteado, al parecer ese control de concurrencia lo tienes que realizar mediante algoritmos que tu mismo implementes(segun la logica de tu negocio). Aca te paso un articulo de microsoft con respecto a este tema

http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vboriDataUpdatesConcurrency.asp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar