Oracle - problema de bloqueo en oracle

 
Vista:

problema de bloqueo en oracle

Publicado por samuel (3 intervenciones) el 29/12/2006 17:27:35
Hola a todos,
tengo desarrollada una aplicación en powerbuilder atacando una base de datos Oracle y tengo el problema siguiente:
en un momento de la ejecución un usuario A hace un update en una tabla X. Por razones de programacion no cierro la transacción (mediante commit o rollback) inmediatamente
despues de ejecutar el update, tiene que pulsar un botón para ejecutar un commit pero el usuario A puede dejar el programa abierto sin pulsar el botón y por lo tanto no se cierra la transacción. Si en ese momento un usuario B intenta hacer un delete en otra tabla Y que tiene por clave externa la clave primaria de la tabla X el programa se queda bloqueado.
Alguien sabe porque puede suceder esto.
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:problema de bloqueo en oracle

Publicado por Rodolfo Reyes (445 intervenciones) el 29/12/2006 23:37:15
Esto sucede por las reglas de "Integridad Referencial".

Este es el comportamiento normal de una base de datos que utiliza transacciones.

Tal vez podrias utilizar un DataStore una una DataWindow para almacenar el contenido de la tabla, entonces en vez de hacer un update sobre una tabla de base de datos, modificas el contenido de tu DataStore o DataWindow, luego cuando el usuario mande a grabar sincronizas el contenido de esta estructura a la base de datos. De esta manera no dejaras bloqueda la base de datos.
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