Visual Basic - Bloqueo con transacciones en VB6

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Bloqueo con transacciones en VB6

Publicado por Javier (1 intervención) el 07/11/2012 14:38:19
Hola,
Tengo una aplicación en VB6 y SQL Server 2008 que tiene un problema con el uso de las transacciones y los bloqueos que se hacen de las tablas.
El mantenimiento de la entidad principal es complejo. La aplicación para guardar su estado usa alrededor de 20 tablas.
Para editar su información, la aplicación muestra un formulario con la información base y posteriormente para profundizar en otros aspectos se van mostrando nuevos formularios.
En el formulario principal y en los secundarios, conforme el usuario hace modificaciones, se va actualizando la información en base de datos.
Ya que la información de los formularios secundarios influye en el principal, se maneja toda la operación como un todo mediante el uso de transacciones.
Así pues, cuando el usuario abre la entidad principal se inicia una transacción. Después se van guardando las modificaciones que se van haciendo conforme se van produciendo. Si el usuario quiere confirmar el guardado de la operación, se acepta la transacción.

A partir de cuando se modifica un registro en los formularios secundarios, la base de datos bloquea el acceso a la tabla en la que se ha producido la actualización.

Si el usuario tarda mucho desde que inicia la modificación hasta que la acepta, otros usuarios pueden verse con el acceso a la tabla actualizada bloqueada.

He hecho un montón de pruebas variando el IsolationLevel y el Mode de la conexión, pero aunque he notado alguna mejora, no la definitiva.

¿Sabéis como evitar los bloqueos cuando hay transacciones abiertas ?

Gracias anticipadas
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