![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Interconexion de tablas/backup-restore
Hola amigos.
Trabajo con: Delphi6/Delphi 10.3, Win10/Server 2012, FB 2.5 Pretendo desarrollar un nuevo proyecto que va a requerir o hacer referencia (aprovechar tablas) a otras tablas de 1 base de datos. Lo anterior porque en el nuevo proyecto tendrá 1 tabla con la misma estructura que tiene otra tabla que esta en producción en una base de datos (BD1). He leido acerca de realizar consultas SQL haciendo referencias a tablas que están en otras base de datos, pero se comenta que es algo lento por medio de EXECUTE STATEMENT https://firebird21.wordpress.com/201...atos-externas/ (entre otros links dentro de este foro). Las consultas a esas tablas serán frecuentes, asi que si es importante el tema de velocidad/respuesta de la consulta. Pensaba hacer crear las tablas del nuevo proyecto en la base de datos de producción, para q la consultas a esas tablas sean dentro de la base de datos....pero ahora viene el tema del backup/restore en caso de que se quieran ejecutar estos procesos a las tablas del nuevo sistema o del que esta en producción, se podrá solo hacer respaldo de algunas tablas??...excluyendo algunas?? o no se podría? Lo ideal es que cada sistema tenga su propia base de datos, pero existe un proceso de actualización a 1 tabla que se desea este actualizada también en el nuevo sistema, por ese motivo que consulto lo antes descrito. Que experiencia tienen uds al respecto?. Como podría aprovechar los datos de las tablas de producción, en el nuevo sistema? Espero haberme explicado correctamente, saludos y gracias por su tiempo.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#2
|
||||
|
||||
Si no he entendido mal, el nuevo software con su base de datos BD1 necesita leer datos de una tabla de otra BD2.
Puedes hacerlo abriendo otra conexión. Tienes tus componentes de base de datos BD1, de transacciones TR1, dataset QR1, etc. Y al mismo tiempo puedes tener un data module DM2, con un BD2, un TR2 y un QR2, etc. para acceder a los datos de la otra BD2
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
||||
|
||||
Cita:
y las consultas como serián?... from bd1.tabla1.campo1=bd2.tabla2.campo2 ??, algo asi?.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#4
|
||||
|
||||
No, tendrías que consultar una BD, y con los datos extraídos hacer la consulta a la otra BD.
Aunque ahora que lo dices, creo haber leido en las especificaciones de la última versión de firebird que se puede hacer algo como comentas. Tengo que revisarlo, hablo de memoria y puede que esté confundido con otra cosa.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
De todas formas no sé si has probado el "execute statement", lo de lento es relativo, haz una prueba por si te sirve.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#6
|
|||
|
|||
No sé si sería una opción, pero algunos componentes de acceso a datos permiten realizar consultas sobre la BD y a continuación ejecutar consultas sql sobre este primer resultado.
Lo utilice hace un tiempo en un proceso un tanto particular con Firedac Contula_BD1= Contula_BD2=
El resultado de las dos primeras consultas se utiliza como tablas para la consulta final Consulta_Final=
Saludos ... |
#7
|
||||
|
||||
Cita:
Gracias Casimiro. Sigo valorando.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#8
|
||||
|
||||
Cita:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#9
|
|||
|
|||
leer bases de datos heterogeneas o diferentes
hola, no te puedo apoyar mucho porque lo hice hace mucho tiempo pero funciona leyendo datos de dos tablas firebird o una firebird y una por ejemplo sqlserver usa localsql en 10.3
https://docwiki.embarcadero.com/RADS...l_SQL_(FireDAC) |
#10
|
|||
|
|||
Yo en Delphi 10.3 utilizo los componentes FIREDAC, con ellos puedo atacar (consultar) diferentes motores de BD, y mejor aún puedo utilizar una característica propia que tiene esos componentes que es una especie de puente entre diferentes motores de DB utilizando sqlite en local, es decir, puedo hacer por ejemplo un "select join" entre tablas de diferentes bases de datos. Es una maravilla.
Pero como dice Casimiro, se deben crear tantas conexiones de DB como Bases de Datos tengas que atacar... Yo en estos momentos tengo un sistema que trabaja contra SQL Server, Firebird y SQLite; haciendo consultas con inner join, left join entre las diferentes tablas de las diferentes bases de datos. En cuanto a los respaldos (backups), pues cada Base de Datos por separado tiene su propio plan de mantenimiento (backup / restore). Es tu obligación saber qué tabla de qué base de datos deseas restaurar, para así solicitarlo al DB Manager que haga esta tarea sobre esa base de datos.... Saludos desde BOGOTA - COLOMBIA
__________________
Ing. LUIS FERNANDO ORJUELA BOGOTA - COLOMBIA |
#11
|
||||
|
||||
Cita:
Cobian lo uso porque los respaldos los puedo programar por dias de la semana y a una hora determinada....la verdad es muy cómodo, solo reviso q se hayan hecho los respaldos, en caso de que no, los ejecuto manualmente. No conozco bien GBAK, pero talvez también se pueda programar los respaldos (Diario, Semanal, Mensual, x Hora especifica, Full, Diferencial, etc.) de manera automática. Saludos.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! Última edición por mRoman fecha: 08-09-2021 a las 17:46:23. |
#12
|
||||
|
||||
Cita:
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#13
|
||||
|
||||
Asi como dices, lo mas obvio es que simplemente haces backup en ambas BD y listo.
La otra, es que ejecutes un backup (parcial) en la de los datos externos (eso tocaria manualmente con SQL y exportar datos), o mantener un servicio que constantemente copie los datos a la BD de base y asi es 1 backup solo.
__________________
El malabarista. |
#14
|
||||
|
||||
Cita:
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#15
|
||||
|
||||
Cita:
Si no lo haces así, ten por seguro que te llevarás una sorpresa el día que necesites recuperar un backup. Con nbackup del firebird puedes hacer los backups con todo el mundo conectado y trabajando, pues hace un backup justo del momento, como una transacción más.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#16
|
||||
|
||||
Cita:
Suena interesante el nBackup Gracias Casimiro.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! Última edición por mRoman fecha: 08-09-2021 a las 19:53:57. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
BackUp Restore Automático | jsanchez | Firebird e Interbase | 8 | 28-03-2013 12:00:29 |
backup y restore | santi33a | PostgreSQL | 2 | 16-05-2012 20:25:28 |
Backup y Restore de BD en SQL Server con C# | Lester | .NET | 2 | 07-02-2009 13:49:32 |
Backup/Restore | HectorMendez | SQL | 1 | 18-09-2007 09:25:09 |
Backup y restore | chipsoni | SQL | 2 | 08-05-2006 10:20:56 |
![]() |
|