Insert desde una base de datos a Otra
Hola amigos, como andan?
Quiero hacerles una consulta haber si me pueden guiar... Desde una base de datos firebird 3 quiero hacer un insert a otra base de datos en el mismo servidor... Básicamente lo que quiero hacer es llevar la auditoria de esa base de datos, pero en otra base de datos, entonces quiero que los insert de mis log de auditoria en vez que se realicen en una tabla de la misma base de datos, quiero que se hagan en otra db... Como puede hacer esto? es posible...? (me refiero a hacer el insert en una DB desde otro DB) Desde ya muchas gracias. Saludos. |
No lo he usado, pero a ver si te sirve esto para "seguir la pista".
Revisa sobre EXECUTE STATEMENT con ON EXTERNAL. Échale un vistazo a este artículo: https://firebird21.wordpress.com/201...datos-externa/ |
Hola Neftali...
Por lo que veo, eso es lo que estoy buscando... .tengo que ver el rendimiento... creería que debe ser rápido (o sea que no me bajara la performance del Insert/Update/Delete). Cualquier novedad la comento... Gracias.... |
Yo lo he usado en algún proyecto y es rápido, no tendrás problema con eso.
|
Buenas a todos. Andaba yo dando vueltas a un sistema para exportar/importar una base de datos desde otra y encontré este artículo. Creo que sería justo lo que necesito, pero leyendo el mismo me ha surgido una duda: Evidentemente las tablas de ambas bases de datos están indexadas; entonces ¿qué pasa si el registro que viene a añadirse ya existe en la BB.DD.? Es lógico que se produciría una violación de claves y no veo como evitarla con ese EXECUTE STATEMENT.
Intuyo una de las respuestas que me vais a dar: colocar en cada una de las tablas un campo que indique si el registro ha sido exportado no. |
Mejor que aclares exactamente qué quieres hacer :)
|
Vamos a ver si logro explicarme.
La aplicación está instalada en tres locales independientes y uno de ellos, digámoslo así, es la central pero no están conectados entre sí. Lo que pretendo es que cada cierto tiempo las BB.DD. de cada una de las oficinas se envíen a la central y se acumulen en las tablas que ya existen. |
Ese tema es muy complejo, se ha tratado otras veces en los foros.
Tienes que pensar muy bien todo el proceso, los datos que necesitas enviar a unos y otros, cómo importarlos sin perder, sobreescribir, repetir, etc. Incluso también si alguien elimina algún dato entonces tendrás que eliminarlo de los otros sitios. Poder, se puede hacer, pero hay que tener muy claro lo que se tiene y lo que se quiere conseguir. Tú eres el único que tienes toda la información para decidir cómo hacerlo y si vale pena. Lo ideal es tener un servidor de bases de datos a donde todos se conecten y se acabó el problema. |
Tienes razón. Hay algunos puntos de los que citas que ni me los había planteado, como qué hacer con los registros que borra uno de los usuarios pero se mantiene en la BB.DD. conjunta. Tengo que pensarlo mejor. Gracias.
|
Cita:
Dando vueltas al problema este fin de semana se me ha ocurrido una solución, que tal vez no sea la mejor. Dado que todos los registros que se exportan/importan llevan un código que identifica la provincia de procedencia una alternativa es borrar en la BB.DD. conjunta todos los registros de esa provincia como paso previo a la importación de cada una de las tablas y todo el proceso se puede hacer todo a través de un script. |
La franja horaria es GMT +2. Ahora son las 03:57:14. |
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