Sincronizar base de datos

Tengo que hacer una aplicación en visual, que estará tanto en una portátil como en una pc de escritorio, el problema radica en que en ambas se introducen datos a la vez y no se como hacer para sincronizar estas bases luego... Tomando en cuenta que en la portátil se trabaja fuera de la oficina, es decir la sincronización deberá ser una vez diaria.

1 respuesta

Respuesta
1
Será directamente dependiente de que tipo de información estás grabando y que formato lógico tienen los campos. Aclara el contexto. Ej:
Estamos metiendo albaranes en el portátil y en el PC de sobremesa y quiero sincronizarlos. La numeración de albaranes es separada (Hay una serie de albaranes para el portátil y otra para el pc).
Con algo así podríamos empezar a ver tu solución. Lo mejor sería que dieras la definición lógica de todas las tablas-campos para centrarnos en el problema.
Primero que todo gracias por tu interés. Voy a introducir datos de clientes, es decir, un ID, un nombre, etc. Pienso también poner un ID autonumérico, ya que efectivamente se cargan clientes en ambas compus a la vez y aunque es poco probable que se repitan los ID, puede darse el caso!
Si usas autonuméricos en dos pc's a la vez las probabilidades de que se repitan son increíblemente altas, te recomiendo que uses un código manual o si lo prefieres que uses un código oculto, controlado por tu programa (identificando el pc en el que estés, comenzarás el código del cliente por, por ejemplo 430xxxx en uno de los pc's y 431xxxx en otro de ellos) eso resolvería tu problema con respecto a Ficha de clientes, pero no con el resto. Aclara el resto de la estructura y te iré ayudando.
OK, gracias.. Te explico, la estructura aun no se ha definido, hasta tener claro si se puede realizar la sincronización de las bases de datos de cada pc. Se dispone de Access para usarlo como base de datos; según lo investigado hasta el momento, mediante el uso de "replicas" se puede lograr el objetivo... ¿Qué opinas?
Gracias.
Nunca he usado las réplicas. Lo que sí he hecho es sincronizar bases de datos de "sucursales" hacia central y viceversa, pero siempre manualmente, con aplicaciones intermedias, nunca mediante un proceso automatizado del access (por ejemplo).
No se si eso funcionaría como deseas. Yo, insisto, lo haría definiendo la base de datos con la intención de poder "extraer-importar" información añadida.
Ok, los campos necesarios en la tabla Pacientes son: #identificación, nombre, compañía, fecha nacimiento, notas, provincia, canton, distrito, dirección, teléfono, e-mail.
El # de identificación, corresponde a la cédula de identidad.
Se puede dar el caso de que se actualize información en una de las pc para un paciente ya existente en ambas pc.
Nuevamente muchas Gracias!
Ante esa estructura, yo crearía una nueva tabla Que llamaría trp_Pacientes, Campos Clave:
#identificacion (que es el id del paciente)
FechaHora (Momento en que se
realiza la modificación)
Datos:
Accion (Texto "G" grabar "B" orrar)
Enviado: Boolean
MomentoEnvio: FechaHora
Ahora es el momento de decidir si habrá solo un portátil que se lleve la información o serán varios. Para simplificar, digo que es solo uno.
Supongo que los portátiles están en Red.
Coloco una opción en la aplicación y la llamo sincronizar bases de datos.
Coloco 2 textbox (supongo visual basic. Si Delphi, dos editbox,...) Uno será
Base de datos primera
Base de datos segunda
Una de ellas la inicializo a la base de datos del pc que estoy usando (me da igual si el portátil o el pc)
Coloco un botón y en él hago lo siguiente (resumo)
Abro dos recordset (cursores)
Cada uno de ellos apuntando a la tabla trp_pacientes de cada una de las bases de datos.
Analizo la última actuación sobre cada paciente y la actualizo en la OTRA base de datos
Fin
Espero que lo hayas entendido.
Un Saludo.
Enviado: Boolean
MomentoEnvio: FechaHora
Ahora es el momento de decidir si habrá solo un portátil que se lleve la información o serán varios. Para simplificar, digo que es solo uno.
Supongo que los portátiles están en Red.
Coloco una opción en la aplicación
Coloco una nueva opci
1º Generar información de traspasos
2º Capturar información de traspasos
En la opción 1, pediría desde que fecha quiero generar la información (filtrando la tabla de movimientos)
Procesaría el recordset y grabaría una nueva base de datos (suponiendo access como base de datos) y
Gracias, soy novato en programación y no en que consiste el análisis y como sincronizar... De casualidad tendrás algún fragmento de código que me sirva de ejemplo...
Saludos,
Lo siento, es código de mi trabajo, no es libre.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas