Alternativa a Locate
Buenas gente del foro, quería consultar si hay alguna alternativa a la función locate de los TClientDataSet, reulta que tengo dos bases de datos con dos tablas iguales, una en Firebird y otra en Paradox, y tengo que comprar los datos de las tablas si hay alguna modificación en alguno de los registros debo actualizarlo, y en el caso de que no lo encuentre lo ingreso, para ello recorro todos los registros de una tabla y hago un Locate en la otra en donde si lo encuentra lo modifica y si no lo ingresa.
Esta solución es viable cuando son pocos registros pero cuando son aproximadamente 90.000 registros, esta operación puede tardar varias horas, necesitaría si conocen alguna solución alternativa. Saludos :D |
Yo buscaría alguna solución del lado del motor, por ejemplo crear un DBLink entre ambas bases (No se si es posible en FB), y ejecutar todo desde un SQL.
Saludos! |
creo que no se puede hacer, igual hay otros datos que necesito obtener mientras voy recorriendo el TClientDataSet
|
Hoooola!!
Hace tiempo hice algo parecido para ver las diferencias que tenia entre un Paradox y un MySQL : Código:
TComparaCDS = class Para que funcione necesitas tener ordenados los clientdataset por el mismo indice. Con este objeto lo que tengo es un registro de las diferencias, no hace la sincronización, pero es facil de modificar para que la haga. Saludos!! |
La franja horaria es GMT +2. Ahora son las 12:16:25. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi