Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   ¿Copiar una base de datos en otra? (https://www.clubdelphi.com/foros/showthread.php?t=7668)

andres 23-02-2004 18:10:37

¿Copiar una base de datos en otra?
 
Hola programadores del club Delphi.

Requiero de su amable ayuda para que me den una luz en el siguiente problema:

Tengo que copiar el contenido de una base de datos en otra, la vaina es que
la nueva tiene nuevas tablas, atributos, etc.

He mirado en los foros y he encontrado ayudas para copiar el contenido de
una tabla a otra, en diferentes BD, tambien tengo el IB Expert, que con su
herramienta SQL Editor permite hacer lo mismo, pero el problema al que me enfrento,
y que no domino es:

¿como lo hago si la base de datos "origen", no tiene la estructura igual a
la "destino"? ya que ha sufrido actualizaciones de tablas, atributos, etc..

¿Como puedo copiar el contenido de la BD, si cuando intento copiar el de
una tabla tengo problemas con las llaves primarias y foraneas?

Trabajo con firebird 1.5, y Delphi 6 pro

Ojala aguien pueda darme luz en este asunto.

muchas gracias a todos.

Andres

jachguate 23-02-2004 18:29:01

Podes armarte un proceso que "a mano" y teniendo en cuenta las diferencias estructurales entre una base de datos y otra, "traduzca" los registros entre ellas.

Algo como:

Código:

Begin
  Tabla1BD1.First;
  While not Tabla1BD1.eof do
  Begin
    Tabla1BD2.Insert;
    Tabla1BD2.FieldByName('Campo1').AsInteger := ObtenerValorDerivadoDe(Tabla1BD2.FieldByName('Campo1').AsString;
    Tabla1BD1.Next;
  End;
End

Hasta luego.

;)

Firibiri 23-02-2004 18:34:25

Hola!
Pues yo utilizo el IBDataPump y me va muy bien.Ya he traspasado varias bases de datos y no he tenido muchos problemas.
Hay una opción que te deshabilita los Triggers,eso sí repásate luego que todo esté bien consistente.
Te lo puedes bajar de aquí
http://www.clevercomponents.com/downloads/IBPump.zip

Espero haber sido de ayuda.

Saludos


La franja horaria es GMT +2. Ahora son las 20:52:15.

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