Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   FileName de ClientDataSet (https://www.clubdelphi.com/foros/showthread.php?t=72622)

Mauro79 02-03-2011 13:01:46

FileName de ClientDataSet
 
Hola a todos! Estoy desarrollando una aplicación DataSnap con Delphi 2010 y Firebird. Mi intención es hacer que cuando se "caiga" el servidor, la aplicación pueda seguir funcionando. Para ello estoy utilizando la propiedad FileName del ClientDataSet. Con esto, almaceno los datos en un archivo localmente.
¿Cómo debo programar esto?
¿Cómo logro sincronizar lo almacenado en ese archivo con la base de datos al momento de estar disponible nuevamente el servidor?
¿Existe alguna documentación o ejemplo que me puedan recomendar que trate puntualmente este tema?
Desde ya muy agradecido

Lepe 02-03-2011 18:45:05

En mi opinión, lo suyo es evitar que el servidor se caiga, bien mediante espejos, RAIDS o lo que sea.

De la forma que pretendes hacerlo vas a tener problemas, así a voz de pronto:
- Clientes repetidos, por dar de alta el mismo cliente desde 2 puestos distintos con el servidor caído.
- Colisiones con el mismo registro modificado desde distintos puestos. Para lidiar con esto te hace falta un campo de "ultima modificación" en cada registro, y claro, que todos los ordenadores tengan la hora sincronizada con internet.

Saludos

Mauro79 02-03-2011 19:50:24

Antes que nada, muchas gracias por tu respuesta.
El preoblema es que estoy realizando un sistema que tanto podrá ser utilizado en una PC, en una red privada o en distintas sucursales a traves de Internet. El problema radica en estos últimos. Los componentes ClientDataSet guardan los datos en memoria hasta efectuar un ApplyUpdate. Si no tengo conexión a Internet en el momento de grabar, estoy en un problema...
Investigando, encontre que la propiedad FileName almacena los datos localmente. La idea es que cuando se "caiga" el servidor por no disponer de Internet, temporalmente pueda trabajar localmente y luego sincronizar los datos...
He investigado mucho y no encuentro la forma de encararlo :-(
Agradezco cualquier aporte que me puedan hacer al respecto!


La franja horaria es GMT +2. Ahora son las 01:07:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi