Delphi - Lock table desde Delphi usando Oracle

 
Vista:

Lock table desde Delphi usando Oracle

Publicado por Armando Sánchez (1 intervención) el 20/05/2003 18:24:21
Tengo una aplicación desarrollada en Delphi 5 desde la cual acceso a una base de datos en Oracle. Necesito controlar que un usuario en una terminal no accese a un registro que otro usuario está modificando , lo que se me ocurrió fue bloquear la tabla con la instrucción lock table, si lo hago desde comando en el SQL plus no hay problema, tabla bloqueada y todos felices, PERO, cuando envío la sentencia lock table desde un ADOQuery en Delphi, la tabla no se bloquea.

Alguien sabe como solucionar esto? Mi teoría es que con el ADOQuery se realiza automáticamente un commit despues de ejecutar la sentencia SQL. (la teoria proviene del hecho de que cuando hago Insert, Update, etc, no tengo que enviar un Commit para que se asienten los cambios en el servidor)

Gracias

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:Lock table desde Delphi usando Oracle

Publicado por Ernesto De Spirito (706 intervenciones) el 20/05/2003 22:39:36
Supuestamente, al hacer Edit el registro se bloquea, pero lo que ocurre es que de manera predeterminada el bloqueo es "optimista", significando esto que no se bloquea realmente, sino que la operación se supone que debe fallar si otro usuario modificó el registro entre que uno lo leyó y quiere grabar los cambios. Creo que hay una propiedad LockType para decirle que use un bloqueo pesimista.

Espero que te sirva.

Ernesto De Spirito
http://www.latiumsoftware.com/es/index.php
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