Tengo que diseñar una aplicación que es principalmente una interfaz con una base de datos para la entrada de datos. La aplicación debe poder funcionar mientras está desconectada de la base de datos con datos almacenados en caché e insertar esos datos cuando se vuelva a conectar. Habrá dos modos diferentes, conectados o desconectados, sin necesidad de detectar la desconexión en el medio de una sesión conectada para cambiar a desconectado.Patrón de diseño para una aplicación de base de datos que debe funcionar desconectado
Como esto me parece un requisito común, me preguntaba si existe un enfoque "estándar" para enfrentar este problema. Almacenamiento en caché de tablas en el archivo local, serialización de los datos consultados en la base de datos o lo que sea. Tal vez hay una biblioteca existente para hacer eso?
Gracias de antemano.
PD: La aplicación se llevará a cabo en .Net
EDIT: Es una aplicación Windows Forms, no una web uno.
EDIT2 EDIT2: para introducir más detalles sobre la aplicación es ingresar datos en una base de datos, pero a veces los usuarios estarán fuera de la oficina varias semanas y deberán ingresar datos como si estuvieran conectados con datos en caché de la base de datos y estos datos ingresados se transferirán a la base de datos cuando vuelvan a conectarse.
replicación de bases de datos sólo se suma al servidor principal o lo reemplaza? Necesito que todos los datos se agreguen al servidor de base de datos principal pero no se reemplacen. Por lo tanto, debo replicar el servidor principal en el servidor local en la conexión, pero simplemente agregar datos de local a principal cuando haya datos disponibles. –
Si usted quiere que su aplicación tenga un comportamiento restringido como "añadir solamente" en modo desconectado, es obvio que tienen que lidiar con eso en la interfaz de usuario de la aplicación, que es algo que su base de datos no puede hacer por usted. Tenga una mirada en MSDN aquí http://msdn.microsoft.com/en-us/library/ms151329.aspx, para aprender más sobre la replicación de mezcla de SQL Server y la resolución de conflictos. –