Parte
4
Capítulo
26. Bases de datos multiusuario usando DAO.
Cuestionario
del capítulo.
1.-
Explique que es una base de datos multiusuario.
Es
aquella que se tiene cuando un mismo almacén de datos es abierto por varias
personas de manera concurrente para realizar labores de lectura y/o escritura.
2.-
Explique la sintaxis de OpenDatabase para una base de datos multiusuario.
Sintaxis:
OpenDatabase(Nombre, Compartido,
SóloLectura)
Donde
Nombre es el nombre del almacén de datos. Compartido es un argumento que
especifica si el uso de la base de datos será compartido (True) o no (False).
SóloLectura es un argumento que especifica si el uso de la base de datos será
de sólo lectura (True) o no (False).
3.-
Explique la sintaxis de OpenRecordset para una base de datos multiusuario.
Sintaxis:
OpenRecordset(Nombre, TipoRecordset)
Donde
Nombre es el nombre del campo de la base de datos que vinculará al objeto
Recordset. TipoRecordset es el tipo de Recordset que esta definiendo; para
nuestros intereses, deberá ser Table o Dynaset.
4.-
Explique los 3 modos de bloqueo para el motor Jet.
5.-
Explique en que consiste el bloqueo pesimista.
El
motor de base de datos Jet bloquea la página que contiene el registro activo,
tan pronto como se ejecuta el método Edit o AddNew, y no libera el bloqueo
hasta que se ejecutan explícitamente (Update) o se cancelan los cambios (CancelUpdate)
en el registro. El bloqueo pesimista es
el modo de bloqueo predeterminado para los objetos Recordset.
6.-
Explique en que consiste el bloqueo optimista.
El
motor bloquea la página sólo cuando intenta afectar el almacén de datos con el
método Update. Puesto que el bloqueo sólo ocurre cuando la aplicación intenta
realizar los cambios, se minimiza el tiempo que el bloqueo esta activo; esta es
la mayor ventaja del bloqueo optimista.
7.-
Explique como se efectúa el manejo de errores en modo multiusuario.
A
diferencia de otros lenguajes, no cuenta con funciones que devuelvan un valor
lógico que indique si un registro esta bloqueado (True) o no (False).
Esta
ausencia nos mueve a buscar alternativas para poder manejar las cuestiones de
bloqueo en nuestras aplicaciones, ya que si no manejamos dichas situaciones, se
generarán errores con toda seguridad.
Esa
seguridad que tenemos de que un manejo inadecuado de los bloqueos nos conduce
al error, puede ser nuestra mayor ventaja, ya que a través de una buena rutina
de errores podemos controlar lo que sucede en el programa.