Delphi - Traspaso de datos entre BD

 
Vista:

Traspaso de datos entre BD

Publicado por Alvaro (3 intervenciones) el 24/09/2004 11:58:33
Como podria hacer de una manera eficiente la exportación de ciertos registros de una tabla situada en una BD de un servido a una tabla de una BD local.
La Tabla del servidor se va actualizando continuamente con registros nuevos, y yo en mi tabla local quiero tener una copia identica a la del servidor, yo he pensado en conectarme cada cierto tiempo (5 min), seleccionar los registros nuevos e insertarlos en la local, para ello necesitaria dos querys.
¿Hay alguna forma de realizar esta operación de manera que consuma menos recursos del servidor?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Traspaso de datos entre BD

Publicado por Juan Carlos Rodríguez (2 intervenciones) el 24/09/2004 14:12:53
Lo ideal no es hacerlo de forma síncrona (es decir, accediendo cada 5 minutos) Lo mejor sería hacerlo de forma asíncrona, es decir, cada vez que se inserte o modifique la tabla, que se genere un mensaje que haga que la aplicación sepa que se ha producido un cambio, e inclusi incluir en el mensaje la información relativa a dicho cambio. Pero para saber como hacer esto, necesito saber que tipo de aplicación tienes, un web service, un aplicación funcionando en una intranet...

Y por supuesto, esta solución sólo es válida si puedes modificar el código de la aplicación que genera los cambios en la tabla que se encuentra en el servidor.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Traspaso de datos entre BD

Publicado por mamcx (533 intervenciones) el 24/09/2004 21:00:21
Si tienes la capacidad de usar TimeStamps en la tabla original, el asunto se simplifica:

SELECT * FROM Tabla WHERE ColumnaTimeStamp>AquiFechayHoraAlmacenadaEnCliente

Esto se logra en una sola consulta. Si tienes Sql Server

INSERT INTO TABLALOCAL
SELECT * FROM TABLAREMOTA

Puedes chequear las ayudas a ver si tu BD soporta algo similar

Junto con la idea de Juan Carlos creo que es lo mas optimo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar