Programación General > Visual Basic 6.0 e inferiores
Re: concurrencia
chiaravel:
La teoria del Lockeo no sirve en el problema planteado por Bea ya que ella tendria que loquear la BD remota cada vez que modifica la local :think: y tampoco serviria esto ya que luego de modificar la local no se actualizara automaticamente la remota.
Aqui hay que hacer un cambio muy profundo en la logica, sino se hace no le veo una solucion muy agradable y confiable.
Suerte
Brroz:
--- Citar ---Originalmente publicado por chiaravel
Cualquier profesional de Sistemas te diria que carece de toda logica, no se puede realizar modificaciones en 2 copias de BD y que la informacion te quede bien..
--- Fin de la cita ---
Esto no es nada raro, sobre todo dependiendo del tipo de información que contenga la base de datos; normalmente no se modifica/añade/deletea un mismo registro en las dos bb.dd. Te diré que conozco casos en que las bases de datos están replicadas en varios sitios y las copias perfectamente sincronizadas (otra cosa es que la sincronización sea más o menos instantánea). Por ejemplo, imagina que yo soy una especie de corresponsal que añado eventos a una agenda en una base de datos y que en Pernambuco hay otro corresponsal haciendo lo mismo en otra base de datos, ¿qué problema hay en que en un determinado momento la información de los dos corresponsales se replique complementándose cada una en la misma base de datos?
Independientemente de la mejor o peor lógica o práctica, es perfectamente posible realizar la sincronización de datos entre dos bases de datos mediante bloqueos y actualizaciones... otra cosa es cómo implementarlo y lo complicado o fácil que sea. Utilizando 'triggers' si es posible, programando eventos que se desencadenen en determinado momento y que actualicen las bb.dd, programando actualizaciones, etc.
En fin, todo un mundo...
chiaravel:
Me referia a lo que bea en este momento quiere lograr, tu ejemplo es valido pero no es lo que bea quiere lograr.
Ya que ella habla de como loquear precisamente porque quiere subir toda la BD a Internet por lo que cualquier tecnica o proceso fracasaria, ya que si ella hace eso que dice, simplemente pisa la BD.
A veces en sistemas sabemos que es mas facil retroceder y tomar otro rumbo, que buscar salidas y arreglos y modificaciones sin cambiar de rumbo, y como resultado tenemos un embrollo totalmente inconsistente.
Suerte
Brroz:
Pues yo lo veo así de sencillo sin saber cuales son los motivos de bea, que si leo bien, no los dice (sólo pregunta cómo bloquear la bd que está en internet).
1- Bloqueo base de datos en internet.
2- Actualizo base de datos local.
3- Modifico base de datos local.
4- Actualizo base de datos internet (en el paso 3, podría hacer las modificaciones en las dos bb.dd. simultáneamente)
5- Desbloqueo base de datos internet.
y ya tengo las dos bases de datos sincronizadas... ¿o no?
También podría seguir esta secuencia:
1- Renombro base de datos en internet.
2- Actualizo base de datos local.
3- Modifico base de datos local.
4- Copio base de datos local a internet.
5- Elimino base de datos renombrada.
el truco está en ACTUALIZAR tablas y NO SUSTITUIR una base de datos por otra. Evidentemente si intento hacer la sincronización 'pisando' una con otro como Chiaravel dice, es completamente imposible sincronizar nada.
Abur.
J.M.Movilla:
Según me parece entender, Bea quiere tener en su equipo local una réplica de la bd que campea en el servidor (Internet); lo mismo que ella, otros usuarios tienen su propia copia.
Lo que pretende es hacer las pertinentes actualizaciones en SU copia y luego subir ésta al servidor, con lo cual no cabe duda de que va a machacar cualquier posible actualización que haya hecho otro cliente. Tendría que haber actualizado su copia inmediatamente antes de hacer los cambios, bloquear la bd del servidor, actualizar la copia y sustituir la bd del servidor, dejándola ya desbloqueada... Si este fichero es pesado y su conexión no tiene la suficiente agilidad... tendrá que pedir permiso a toda la comunidad de clientes para cambiar que en lugar de 13 camisas quiere sólo 12...
Soy de la opinión de que más vale abandonar esa idea y tomar el cauce de la lógica que indica Chiaravel... que cada cliente acceda a la bd del servidor de forma optimista o pesimista, según se encuentra de ánimo (¡perdón por el chiste!) y que pueda si lo desea mantener una copia en su equipo para CONSULTAR, sin conexión, los datos que dependan de él exclusivamente, porque la base actualizada on line sólo podrá conocerla accediendo al servidor.
Saludos y suerte
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa