FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Como sincronizar dos Bases de Datos (SQLite y PostgreSQL)
Hola a Todos
Tengo una aplicación que usa SQLite y necesito obtener los datos de otra aplicación que usa PostgreSQL, para la primera vez esta bien importar todos los datos de una para la otra, pero después solo necesito los datos nuevos, es decir soncronizar las 2 bases de datos Los datos de las tablas que necesito, no siempre se modifican por eso necesito saber primero si se modificó alguna tabla o no, para en caso positivo obtener solo los datos nuevos o modificados de la BD Origen Uso componentes los ZEOS para conectarme a ambos (SQLite y PostgreSQL) y Delphi7
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes |
#2
|
||||
|
||||
Lo más simple es poner un campo a las tablas que necesites sincronizar. Ese campo puede ser booleano o 1/0. Si es 1 es que hay que pasar el registro a la otra BD. Cuando se pase lo pones a cero.
Por ejemplo. |
#4
|
||||
|
||||
Si la sincronización es en una sola dirección opino como Casimiro. Otra cosa sería una sincronización bidireccional. Aún así, ojo con los registros borrados.
__________________
http://www.gestionportable.com |
#5
|
||||
|
||||
Cita:
Eso te permite comparar los datos que ya has traspasado y evita los UPDATES en la BD origen en el momento de traspasar.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#6
|
||||
|
||||
El problema es que no tengo control de la BD Origen (Postgres), pues es un soft de terceros, y en mi empresa quieren hacer un modulo que usa los datos de varias tablas de ese sistema, por eso en el sistema origen no puedo tocar nada, solo leer los registros que me interesan, y verificar si son iguales o no a los de mi BD (SQLite) para importar los nuevos o modificados
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes |
#7
|
||||
|
||||
Pues ya depende de lo que puedas leer.
Tienes que hacer como MacGyver ¿de qué dispones?, pues ahora a sacarle provecho a lo que tienes Los registros que puedes leer tendrán un campo id único, se supone, pues aprovéchate de ellos para crear tú unas tablas con unos campos que te indiquen si ya lo has importado o no. |
#8
|
||||
|
||||
Cita:
Es decir, lo explico con un ejemplo. Si la tabla son 200 registros y has modificado 100, te sale a cuenta no hacer la comparación y actualizarlos todos. Si la tabla son 100.000 registros y has modificado 500, te sale a cuenta hacer la comparación.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#9
|
||||
|
||||
Pues qué queréis que os diga pero yo veo una locura detectar en una tabla con unos cuantos miles de registros qué se ha modificado, borrado o insertado.
Igual te resultaría más "realista" poner límites a lo que quieres hacer y dedicarte por ejemplo a "importar" registros por fechas a la nueva base de datos pero claro, no sé lo que necesitas.. ¿sincronizar totalmente? ¿añadir registros nuevos? ¿también modificados? ¿anulados?..uffff....
__________________
Be water my friend. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como sincronizar datos entre bases datos cliente a servidor (asincronicamente) | Efren2006 | OOP | 6 | 29-03-2013 11:36:11 |
Administradores de bases de datos SQLite | rretamar | Conexión con bases de datos | 10 | 22-01-2011 00:00:06 |
Administración de bases de datos SQLITE | rretamar | Conexión con bases de datos | 1 | 29-12-2009 18:00:33 |
Sincronizar 2 Bases de Datos Interbase | Efren2006 | SQL | 1 | 09-02-2009 15:30:08 |
Sincronizar bases de datos | SMTZ | Oracle | 4 | 30-11-2006 01:47:46 |
|