Ver Mensaje Individual
  #15  
Antiguo 28-11-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 23
guillotmarc Va por buen camino
Hola.

En una aplicación también he montado un sistema de replicación como el que comenta Cadetill. Es muy rápido y funciona bien. Basicamente siguo (al igual que el Fibre) esta metodología http://www.ibphoenix.com/main.nfs?a=...ibp_howto10%27

Aunque en lugar de utilizar un programa que lee de una base de datos y actualiza en la otra, utilizo el método comentado por Cadetill de guardar los datos en archivos .xml (generados por clientdatasets), empaquetarlos en un comprimido, y enviarlos por FTP. En el destino solo hay que volverlos a leer, cargándolos en clientdatasets, y actualizar la base de datos destino.

Tienes que tener en cuenta unas pocas cosas. Por ejemplo que a veces los paquetes tienen tendencia a liarse. Por eso es mejor que los numeres, y antes de procesar uno, verifica que no tienes ningún paquete anterior pendiente de procesar. (Es decir, si vas a procesar el paquete 114, verifica que el ultimo procesado haya sido el 113, en caso contrario hay paquetes que no han llegado al servidor FTP, por lo que es mejor detener la replicación y esperar a ver si lleguan en la proxima sincronización, o avisar al Administrador).

A veces se generan conflictos. Por ejemplo en las tiendas A y B se vende el mismo producto al mismo tiempo. Supongamos que había 20 en Stock, en cada base de datos, en el momento de hacer la venta, pondremos el Stock a 19. Cuando se realize la sincronización, la modificación en el registro de A se pasará a B, y viceversa, con lo que igualmente quedarán las dos con Stock a 19. Aunque lo correcto es que estuviese a 18. Tienes que montar algo para evitar estos problemas (yo por ejemplo, no replico el campo Stock, sino que lo calculo cada vez que se replica un registro de esa tabla, sumando compras y ventas)

NOTA : Una tecnología que también puedes utilizar, en lugar de utilizar replicación, es haciendo una aplicación de 3 capas con un servidor de aplicación. Es decir, utilizar Datasnap (módulos de datos remotos).

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita