Concurrencia en SQL Server
Publicado por Diego (23 intervenciones) el 08/07/2006 01:30:46
Hola a todos,
como se puede hacer para controlar un caso de concurrencia de 2 o mas usuarios en un mismo registro de una tabla en SQL Server 2000? Estoy trabajando con VFP 9.0 y SQL Server 2000 (usando SPT para conversar con la BD).
Expongo esta situacion:
- en un sistema 2 usuarios seleccionan un mismo cliente para modificar sus datos.
- se les abre a cada uno, una pantalla con los datos listos para editar.
- Uno de ellos le cambia el nombre original 'Juan' por 'Mario' y se va para el baño. Mientras tanto el otro usuario le empieza a cambiar el nombre que en su pantalla se ve como 'Juan', pero resulta que el primero ya le cambio por 'Mario'. A continuacion le coloca 'Luis' y graba el registro. Entonces vuelve el primer usuario y graba el registro con el nombre 'Mario' pero resulta que ya habia sido grabado con el nombre 'Luis' por el segundo usuario.
Como se puede evitar el llamado 'El ultimo graba' ?
Como hacer para que mediante bloqueo optimista del registro, se conozca que otro usuario ya lo habia cambiado y grabado, un segundo antes ?
O seria mejor efectuar un bloqueo pesimista ?
Muchas Gracias
Diego
como se puede hacer para controlar un caso de concurrencia de 2 o mas usuarios en un mismo registro de una tabla en SQL Server 2000? Estoy trabajando con VFP 9.0 y SQL Server 2000 (usando SPT para conversar con la BD).
Expongo esta situacion:
- en un sistema 2 usuarios seleccionan un mismo cliente para modificar sus datos.
- se les abre a cada uno, una pantalla con los datos listos para editar.
- Uno de ellos le cambia el nombre original 'Juan' por 'Mario' y se va para el baño. Mientras tanto el otro usuario le empieza a cambiar el nombre que en su pantalla se ve como 'Juan', pero resulta que el primero ya le cambio por 'Mario'. A continuacion le coloca 'Luis' y graba el registro. Entonces vuelve el primer usuario y graba el registro con el nombre 'Mario' pero resulta que ya habia sido grabado con el nombre 'Luis' por el segundo usuario.
Como se puede evitar el llamado 'El ultimo graba' ?
Como hacer para que mediante bloqueo optimista del registro, se conozca que otro usuario ya lo habia cambiado y grabado, un segundo antes ?
O seria mejor efectuar un bloqueo pesimista ?
Muchas Gracias
Diego
Valora esta pregunta
0