Ver Mensaje Individual
  #2  
Antiguo 26-04-2012
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 835
Reputación: 24
gatosoft Va camino a la fama
StartKill,

Lo que buscas es una replicación en línea... para esto la mayoría de las bases traen esta funcionalidad para que se haga de forma automática en línea o periódicamente, pero esperando que la base destino no sea transaccional, es decir, solo es un repositorio de replciación como medida de seguridad....

Pero creo que lo que tu esperas es algo diferente ¿no es cierto?, pues estoy suponiendo que tus bases Movil-1 y Movil-2 son ambas transaccionales, lo cual querría decir que lo que buscas es una Sincronización o conciliación de datos entre las bases....

Todo lo que sea "en línea" tiene un costo, por lo menos de procesamiento, y es algo que debes evaluar....

Hay un articulo muy interesante de Pablo Reyes en "Embarcadero Developer Network" llamado Reconciliación de errores de actualización. revisa especialmente el apartado: "Registros modificados", en este muestra una forma para Visualizar los registros que han sufrido modificaciones en el ClientDataset.... el código clave es:

Código Delphi [-]
procedure TForm1.Button3Click(Sender: TObject);
var
  stStatusFiler: TUpdateStatusSet;
begin
  stStatusFiler := [];
  if CHKModified.Checked then
    stStatusFiler := stStatusFiler + [usModified];
  if CHKInserted.Checked then
    stStatusFiler := stStatusFiler + [usInserted];
  if CHKDeleted.Checked then
    stStatusFiler := stStatusFiler + [usDeleted];
  (DSParts.DataSet as TClientDataSet).StatusFilter := stStatusFiler;
end;

Esto tal vez te de una idea de como podrías conocer los cambios de tu ClientDataset antes de aplicarlos en una base, para intentar replicarlos en la otra....

Espero que te haya servido...

Un saludo,
Responder Con Cita