Necesito una mano enorme!!!!

daniel_diviesti
26 de Enero del 2008
Hola gente, voy a intentar ser lo mas claro y corto posible.
Tengo un cliente q tiene una casa de repuestos de autos. Los repuestos los compra a 3 distribuidoras diferentes y cada distribuidora le instalo en su PC , un programa para q se pueda consultar los productos provistos por cada una. (O sea q tiene 3 pogramas distintos, medio raro pero es asi)
Ahora el repuestero me pidio de hacer un progrma propio, que pueda unificar esas 3 bases de datos y asi tener un solo programa. Hasta ahi barbaro, el problema está que cada distribuidora una vez x semana en el local, abre su aplicacion y actualiza la base de datos por si hay aumentos o nuevos productos. Como puedo hacer yo para que esas actualizaciones se reflejen en mi base unificada, teniendo en cuenta que la estructura de tablas, ya sean nombre de los campos y tipo de campos, son distintos??
No pretendo me envien el codigo, pero alguna idea o sugerencia.
Gracias!!!!!

mvallejos
26 de Enero del 2008
Daniel

Si las sucursales no tienen conexion directa con la casa central, es muy difícil implementar un método efectivo.

Lo más seguro es el método que usan en los lugares que venden pasajes (avion, bus, etc), se conectan las sucursales con, por ejemplo, Terminal Server y todas ellas trabajan sobre una unica base de datos ubicada en un servidor central.

Si esto no fuera posible (por costos o lo que sea), la actualización se hace desde la central hacia las sucursales y no al revés.
Un método que me ha dado bastamnte resultado es que desde la central, se suben todo tipo de archivos a un servidor FTP, de un hosting común y corriente, y los puestos remotos bajan ese archivo. Paralelamente, con el miemo método las sucursales comunican las novedades (por ejemplo las ventas realizadas)

--.________>____FTP___>________
...| |
CENTRAL SUCURSAL
..|_______<_____ FTP_____<______|


Este proceso , como se puede automatizar, se puede ejecutar varias veces al día y es rápido.

Por ejemplo, si usas Sql Server, se pueden programar tareas , que se pueden ejecutar varias veces al día.
Se puede hacer un procedimiento almacenado que genere un archivo plano con BCP para una susucrsal y haga un shell a un programa que suba ese archivo al FTP.
El programa de la sucursal puede chequear cada tanto, la existencia de actualizaciones en el FTP, si las encuentra las baja y las aplica.

Espero que sirva de algo

PD

Perdón si el dibujito no se ve bien, es este foro recorta las frases y quita algunos caracteres a veces.