Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/09/2012, 07:59
alyciashape
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 13 años
Puntos: 58
¿Cual es la mejor forma de realizar esto?

Hola a todos,

necesito tener los datos de una base de datos tal cual en otra, una es MySQL y otra es DBase a través de un driver ODBC. Bueno eso no importa. Lo que importa es que son bases de datos diferentes, y la segunda soporta comandos SQL pero no todos, o quizá es que tiene otra sintaxis no lo se.

La base de datos origen es la DBase y la destino MySQL.

Para realizar esto en principio tengo 2 ideas:
1ª Hago un select (tabla por tabla, a mano) de una tabla en DBase. Luego recorro los ids y los comparo con los de MySQL, si existe compruebo que los datos son iguales y si no los actualizo. PERO después tengo que hacer al revés, un select de MySQL y comparo los ids y sino están en la DBase tengo que borrarlos.

2ª Opción.
Borrar todos los datos de las tablas y copiar todo. Suena más rápido pero hay muchos datos (3000-10000) en algunas tablas y puede llevar un tiempo, y la base de datos MySQL va a trabajar con una tienda online para llevar pedidos y eso puede provocar errores fatales así que lo descarto.

¿Alguna otra solución? Trabajar directamente con la DBase lo descarto porque no encuentro la forma y además ya tiene mucha carga de trabajo. Habría que actualizar cada 15 minutos para que el stock más o menos esté controlado.