FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ligado / Interconexión de dos BD/Sesiones
Buenas,
Tengo alguna duda, haber si alguien me puede decir, Tengo dos bases de datos distintas, aunque realmente contiene el mismo contenido, es decir, disponen de las mismas tablas, pero bueno esto no es relevante. El tema es como esas dos BD. o imagino que serán dos sesiones distintas se pueden interligar de tal manera pueda actualizar el contido de una tabla de la SesionA, con el contido de la misma tabla en la SesiónB.a No se si me he explicado. Gracias de antemano |
#2
|
|||
|
|||
Soy de nuevo el mismo de antes,
es que no se si ha quedado demasiado claro. Tengo 2 ficheros .gdb, y lo que me gustaria hacer sería que el contenido de una tabla del fichero_A.gdb, se actualizase en otra tabla distinta contenida en el fichero_B.gdb por lo tanto creo que son 2 sesiones distintas, no? bueno no lo sea!! salu2 |
#3
|
||||
|
||||
Saludos.
Lo que andas buscando es el efecto de replicacion, eso lo puedes conseguir con un programa que esta en http://www.ibphoenix.com se llama IbReplication. Por otra parte desde la misma BD no puedes actualizar otra BD no hasta FireBird 3 segun tengo entendido; por lo pronto si quieres hacer este efecto tendras que hacer tu una utilidad o tu aplicacion hacer los procedimientos adecuados. Espero haberte ayudado.
__________________
Gracias, Rolphy Reyes |
#4
|
|||
|
|||
Hola _Willa
Si lo que quieres es mantener una copia de la base de datos 'en tiempo real', puedes usar una característica de firebird que se denomina shadow. Resultados en Google saludos TJose |
#5
|
|||
|
|||
Creo que no me estais entendiendo. por eso voy a poner algun ejem.
Imaginaros que tengo un Base de Datos, llamada LecturasGlobales.gdb que contiene una serie de tablas ( gasolinera, tarifas, movimientos, etc ) y ahora tengo otra Base de Datos que se llama LecturasParciales.gdb que entre sus tablas existe una llamada 'movimientos'. Y lo que se trata es llevar los datos contenidos en la tabla de 'movimientos' de la Base de Datos Parcial, y añadir o actualizar la base de datos 'movimientos' contenida en la Base de Datos Global. Por cierto, no se si lo dice, estoy usando Base de DAtos del tipo Interbase, y programando en C++builder, aunque si existe codigo en Delphi, no me importa demasiado. No importa usar procedimientos almacenados, pero me gustarián que estos no estuviesen en la base de datos, sino poder usar TIBStoredProc, es decir, hacerlo desde el propio programa. Muchas Gracias, desde ya!! salu2 _Willa |
#6
|
||||
|
||||
Pues segun entiendo resolviste el problema. Si lo que quieres llevar los datos de una BD a otra "manual" entonces lo unico que debes de hacer es tener dos conexiones (componentes tipo BD) desde tu programa y listo; osea llevar los datos via programacion.
__________________
Gracias, Rolphy Reyes |
#7
|
|||
|
|||
ok, Entiendo.
Usar estos componentes por cada una de las BD. - TIBDatabase - TIBTransaction - TIBDataSet - Realizar consulta sobre cada una de las Tablas - Mediante un bucle, ir reg a reg de la consulta realiza actuando sobre la siguiente BD. Lo probaré. Gracias!!!! |
#8
|
|||
|
|||
Puedes usar una query con parametros donde insertas o modificas campos de una BD con los valors de otra..
|
#9
|
|||
|
|||
Hola _Willa
Cita:
- 2 TIBDatabase - 1 TIBTransaction ejecutas las sentencias que quieres en cada una de las bases de datos dentro de una misma transacción. Saludos |
#10
|
|||
|
|||
Gracias, TJose probaré esto ultimo que dices para ver la manera
en la que puedo encajarlo en C++Builder. puede ser algo así como... Código:
ib_db1 = new TIBDatabase(NULL); // Primera BD ib_db2 = new TIBDatabase(NULL); // Segunda BD ib_tra = new TIBTransaction(NULL); // Transacción Común. ib_db1->AddTransaction(ib_tra); ib_db2->AddTransaction(ib_tra); ib_tra->AddDatabase(ib_db1); ib_tra->AddDatabase(ib_db2); _Gracias. |
#11
|
|||
|
|||
Una duda q me ha quedado, es si en lugar de usar codigo Builder C++,
si podria hacer esto mismo a través del un procedimiento Almacenado, Es decir, se podría hacer un procedimiento Almacenado ( sp_xxxx ) que permita enlazar datos de dos Base de Datos distintas, para consultar/mover,etc - datos de una tabla a otra tabla de otra Base Datos. Con sentencias SQL, dos Bases de Datos Distintas (.gdb ) se pueden usar a la vez ?? Si alguien ha realizado algo asi ?? , Se puede en sp ?? _Gracias_ |
#12
|
||||
|
||||
Saludos.
Como te habia respondido anteriormente desde una BD Interbase/Firebird no es posible la "manipulacion" de datos a otra BD, segun esta en la pagina principal de Firebird esto sera posible en la version 3. Pero con http://www.ibexpert.com segun su documentacion utilizando unas sentencias "propias" de ellos se puede realizar esta operación, solo que el manejador debe de ser la de pago. Hasta luego.
__________________
Gracias, Rolphy Reyes |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Sesiones en PHP | dieleo | PHP | 2 | 21-06-2007 13:40:04 |
Sesiones | David | PHP | 6 | 01-03-2007 00:18:48 |
Interconexión de aplicaciones... | adlfv | OOP | 1 | 12-08-2005 17:03:02 |
modificar dbgrid ligado a query | squenda | Conexión con bases de datos | 7 | 25-04-2004 06:54:03 |
Sesiones en PHP... | Tanix | PHP | 2 | 11-08-2003 15:02:50 |
|