Access - Access Multi Usuario Record Locking

   
Vista:
Imágen de perfil de Srgio

Access Multi Usuario Record Locking

Publicado por Srgio smarta@prodigy.net.mx (2 intervenciones) el 09/06/2016 20:35:58
Hola a todos.

In Access 2010 es posible impostar el Record Locking de default de la siguiente manera:
· File Menu
· Click Options
· Click Client Settings in the left side Options Menu Pane
· Scroll through the Client Settings until you find the AdvancedSettings
Set advanced settings as:
1. Default Open Mode – Shared
2. Default record locking – Edited Record
Quisiera saber:
* Porque "Default record locking – Edited Record" (pessimistic locking), parece ser mejor que “Default record locking – No Locks" (optimistic locking),
* Si cuando un usuario intenta editar un registro locked el mensaje "Write Conflict" viene desplegado sea con "Edited Record" sea con "No Locks",
* Que sucede exactamente en cada caso (Mensaje de error, Crash del programa, Reintentos automáticos, ...).
Espero que alguien me pueda ayudar.
Gracias.


WriteConflict
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

Access Multi Usuario Record Locking

Publicado por Enrique Heliodoro (1663 intervenciones) el 10/06/2016 11:28:28
Son varias las preguntas y no tienen una respuesta concreta (y si le dedicas un par de minutos a 'analizar', veras la lógica utilizada).

¿Por qué un método es 'mejor que el otro' ? ... pues porque así lo considera el diseñador que lo aplica 'en esas particulares circunstancias'

Si uno fuera 'bueno y el otro malo ¿tendría razón de ser la existencia del 'malo'?

Serán buenos o malos (ambos) según se apliquen en 'unas circunstancias concretas' y ello depende del uso de la aplicación (que sea compartida o no), si la aplicación no se comparte, el que se abra con bloqueo optimista o pesimista 'carece de sentido' (a pesar de que aun así se puede dar la circunstancia de que nos 'auto-bloqueemos').

Si un usuario (se supone un entorno compartido), intenta modificar un registro que otro usuario esta editando (basta que inicie una edición, aunque después se tome un café en otro sitio), se creara un conflicto 'lógico' pues el no puede 'ver' lo que el otro hace y de 'hacer algo' las prioridades del que lo abre en primer lugar, sobrescribirían sus modificaciones (puede darse la circunstancia de que el otro abandone sin cambios y se apliquen los suyos).

¿Por qué se producen roturas? ... pues generalmente porque 'se le da una patada en la espinilla' cuando el otro esta sobre un solo pie, traducido:
Una mala implementación del código y sobrecarga de recursos que coinciden con momentos puntuales de gestión interna, pues Access no siempre 'trabaja en tiempo real', clasifica tareas según sus prioridades y las gestiona según los recursos disponibles (intentos del sistema operativo en generar una simulación de multitarea).

No es un problema de Access, es un problema de todos los gestores de datos compartidos, cada cual tiene su gestión de conflictos y aquí (Access, que esta diseñado como una 'aplicación de escritorio') quizás no aplique una gestión optima cuando se le hace trabajar en multiusuario.

Pero si se analiza la herramienta (sea Access o SQL Server, MySql, Oracle ....) y se conocen sus limites se pueden minimizar sus problemas (que son los que permiten diferenciar a un programador serio y capaz de uno .... que aun no lo es)
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
Imágen de perfil de Srgio

Access Multi Usuario Record Locking

Publicado por Srgio (2 intervenciones) el 10/06/2016 17:14:36
Hola.
Son todas consideraciones que ya he tomado en cuenta y muy teoricas.
Las respuestas a las ultimas (en elenco pero primeras en importancia) dos preguntas son las mas interesantes porque de hay se desprende todo lo que hay que hacer:
* Si cuando un usuario intenta editar un registro locked el mensaje "Write Conflict" viene desplegado sea con "Edited Record" sea con "No Locks",
* Que sucede exactamente en cada caso (Mensaje de error, Crash del programa, Reintentos automáticos, ...).
Espero que alguien tenga respuestas concretas del estilo:
* Si / No a la primera,
* Una descripción de que sucede en cada caso.
Gracias.
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

Access Multi Usuario Record Locking

Publicado por Enrique Heliodoro (1663 intervenciones) el 10/06/2016 18:35:28
Si ya estas versado en la cuestión, no se porque planteas lo que siempre será teoría ya que 'la practica' depende del entorno y (con la salvedad de las copias) cada forma de programar es un mundo y no tienen porque repetirse las circunstancias.

Genera tus propios errores y aplica tus conocimientos para atajar el problema, pues tras 'la teoría común' viene la practica y eso .. es otro mundo (esto es: ese entorno por diversas circunstancias es o debería de ser único).

Una forma de generar un entorno de experimentación, consiste en crear 'maquinas virtuales' que permitirían la completa simulación incluso de un entorno fiel de cliente/servidor (aunque se utilicen las versiones temporales que permiten incluso los de Microsoft si no se disponen de licencias legales).
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