none
Sincronizar datos (Access 2003) RRS feed

  • Pregunta

  • Hola

    tengo un programa desarrollado con VB.NET 2008 y Access 2003.

    Este programa lo tengo instalado en un PC principal. Luego también lo he instalado en un par de portátiles para que los comerciales puedan también trabajar con el programa, pero en modo desconectado. Luego por la noche van a la oficina. La idea es que cuando vayan al final del día o de la semana, pueden sincronizar los datos con el PC de oficina.

    He pensado en crear un aplicativo para importar / exportar datos, y a través de bucles ir mirando si existe o no el registro, así ir actualizando e insertando si procede. Pero vamos, son muchísimas tablas....

    No hay algo más automático y rápido para hacer esto?


    Regards, manolitos
    martes, 15 de diciembre de 2009 15:29

Todas las respuestas

  • Hola yaeko!

    primero que nada, pienso que deberías de analizar el tipo de estrategía que debes de implementar, para realizar la actualización de los datos sobre la base de datos central.

    Viendo lo que nos cuentas, creo que lo más conveniente sería implementar una estregía de control de tipo "optimista", de modo que al actualizar cada registro sobre la base de datos original, se compruebe si cada uno de los registros que van a ser actualizados ha sido eliminado o modificado. Para conseguir esto la estrategía más recomendada y eficiente es emplear un campo de marca de fecha en cada una de las tablas, de modo que se pueda comprobar comparando dichas marcas si un registro a cambiado o no.
    Te dejo un enlace que te puede ser de ayuda. Personalmente este documento me sirvió bastante para entender como se maneja la concurrencia optimista con ADO.NET.
    El enlace es el siguiente: http://www.dotnetmania.com/Articulos/003/Apoyo/dnm3pg20-26.pdf

    Cuando se comprueba que un registro ha sido modificado respecto al valor original fruto de la última sincronización con la base de datos, se produce una infracción. Deberías manejar dicha infracción de modo que se le muestren al usuario los cambios en el registro afectado y opciones al respecto para poder decidir como actuar. Por ejemplo se le podría permitir al usuario que seleccionara el registro que va a ser almacenado en la base de datos, si la versión actual de la base de datos principal, o el valor del registo que llevaba en su computadora.

    Espero que te sea de utilidad.

    Saludos y suerte!
    • Propuesto como respuesta Alex_TS jueves, 7 de enero de 2010 20:01
    miércoles, 30 de diciembre de 2009 21:28