Вы находитесь на странице: 1из 9

Taller de sistemas de

informacin
Unidad I. Sistemas
multiusuarios
M.C. Raquel Ochoa Ornelas
1.1 Esquemas de bloqueo
Bloqueo a nivel de base de datos
Bloqueo a nivel de tabla
Bloqueo a nivel de pgina
Bloqueo a nivel de base de datos
Al abrir una base de datos se puede establecer el bloqueo
de dos formas:
Con un Control Data modificar propiedad (Exclusive=True)
verificando en el evento Data_Error.
Con objetos DAO.
Set db=DBEngine.OpenDatabase(C:\datos.mdb,true)
Bloqueo a nivel de base de datos
El valor True indica el bloqueo de la base de datos. Cuando
la base de datos esta bloqueada ningn otro usuario ni
programa podr abrirla hasta que sea cerrada.
Este tipo de bloqueo debe ser utilizado cuando se vaya a
modificar los objetos de la base de datos (como las tablas,
ndices, relaciones y consultas)
Bloqueo a nivel de tabla
Con DAO
On Error Resume Next
Dim db as Database
Dim rs as Recordset
Set db=DBEngine.OpenDatabase(datos.mdb)
Set
rs=db.OpenRecordset(articulos,dbOpentable,dbDenyRead+dbD
enyWrite)
Msgbox Err.Description
If Err.Number>o Then
Msgbox Err.Description & vbCRlf & fin, vbCritical, Error
& Err.Number
Upload Me
End If
Bloqueo a nivel de tabla
Para proteger una tabla al intentar llevar a cabo operaciones
delicadas con ella. Por ejemplo:
Si se desea incrementar el precio de venta de todos los
elementos de su inventario un 5%, se deber abrir la tabla
en modo exclusivo y llevar a cabo la modificacin. Al
utilizarla los usuarios, podrn visualizar la nueva lista de
precios.
Establecer Exclusive en False
Establecer Recordsource en Master Table
Asignar a Optinions el valor de 3 (DenyWrie,DenyRead)
Bloqueo a nivel de pgina
Una pgina de datos contiene ms de un registro. En la
actualidad, una pgina en el Jet ocupa 2Kb. Al bloquearse
una pgina todos los registros que estn en ella tambin
sern bloqueados.
La cantidad de registros bloqueados no puede controlarse ni
predecirse con exactitud.
Existen dos tipos de bloqueos a nivel de pgina:
LockEdits=True Bloqueo Pesimista
LockEdits=False Bloqueo Optimista
Bloqueo a nivel de pgina
Bloqueo Pesimista
El motor del Jet bloquear la pgina de datos cuando se
ejecutre un mtodo Edit o AddNew. La pgina permanecer
bloqueada hasta que se ejecutre un mtodo UpDate o
CanceUpdate. Cuando una pgina est bloqueada ningn otro
usuario podr leer ninguno de estos registros.
La ventaja de utilizar el bloqueo Pesimista es que permite el
mayor nivel de integridad posible a nivel de pgina. La
desventaja es que los datos pueden quedar bloqueados por
un largo periodo, causando que otros usuarios de la base de
datos se encuentren con mensajes de error al intentar leer o
escribir en la tabla.
Bloqueo a nivel de pgina
Bloqueo Optimista
Hace que el Jet bloquee la pgina slo al ejecutar el mtodo
Update. As al ejecutar el mtodo Edit o AddNew la pgina no se
bloquear, slo ocurrir hasta que se guarden los cambios
mediante Update.
Con esto el Jet intentar bloquear la pgina. Si lo logra, se
grabar el registro. Si el Jet descubre que alguien ms a editado
el mismo registro y lo ha guardado, se cancelar la grabacin de
la modificacin y aparecer un mensaje que avisar que alguien
ms ha cambiado los datos.
La ventaja de utilizar este bloqueo es que los bloqueos ocupan el
menor tiempo posible, lo cual podra traer errores a la hora de
guardar los cambio, no a la hora de hacerlos.

Вам также может понравиться