Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Como se puede migrar de forma optima. (https://www.clubdelphi.com/foros/showthread.php?t=65260)

ronimaxh 01-12-2009 15:37:23

Como se puede migrar de forma optima.
 
Buen día, amigos del club, les cuento del caso, tengo una base de datos en firibird 2.1 que está en producción con sistema dental, hecho en delphi 2009, le hice muchos cambios a las tablas en la estructura. Lo que quiero es pasar los datos de las tablas a la nueva estructura, cual es la mejor forma de hacer esto.

Gracias desde ya.

rgstuamigo 01-12-2009 17:12:43

Bueno :rolleyes:,personalmente no uso Firebird pero supongo que se puede hacer una insercion anidada a una seleccion mas o menos asi:
Código SQL [-]
INSERT INTO Tabla_Nueva(id,Descripcion) SELECT Id_Viejo,Descripcion_Vieja FROM Tabla_Vieja;
En otras palabras inserto en la nueva tabla lo que se selecciona de la otra.;)
En tu caso debes poner los campos adecuados.
Nota:Probado en MySQL.;)
Saludos...:)

ronimaxh 01-12-2009 20:00:59

Eso suena bien, pero son dos basas de datos diferentes, en firebird hasta donde se no permete el enlace de forma integra.

rgstuamigo 01-12-2009 20:14:55

Cita:

Empezado por ronimaxh (Mensaje 347894)
Eso suena bien, pero son dos basas de datos diferentes, en firebird hasta donde se no permete el enlace de forma integra.

Justamente eso, esta viendo en este hilo de que Firebird no permite hacer una consulta SQL hacia Dos o Mas Bases de Datos:o:(.Mientras que en otros servidores de BD si se puede.:o.
De todas formas (no se si Firebird lo soporta), se puede usar un archivo de intermediario, donde se guarde los registro de la consulta SQL y luego leer dicho archivo hacia la nueva tabla:
En MySQL(usando Load Data y OutFile) seria mas o menos asi:
Para Guardar a un archivo:
Código SQL [-]
SELECT * INTO OUTFILE 'data.txt'
          FIELDS TERMINATED BY ','
          FROM tabla_Vieja;
Y Para leer el fichero delimitado por comas, el comando correcto sería:
Código SQL [-]
 LOAD DATA INFILE 'data.txt' INTO TABLE Tabla_Nueva
           FIELDS TERMINATED BY ',';
Ojalá exista algo parecido en Firebird:o;).
Saludos...:)

ronimaxh 01-12-2009 22:21:54

Les comento como lo resolví, todo lo hice exportando la data vieja a la nueva mendiante Script, usando el adm. ibexpert


La franja horaria es GMT +2. Ahora son las 21:50:06.

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