Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 16-04-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Hola de nuevo,

Pues nada, sigo aqui de enfadoso modificando mi juguetito.

En esta versión ya pude obtener la estructura de tablas DBF, resulta que la propiedad TableName por default asigna la extensión DB, por lo tanto, asigné directamente la extensión DBF en caso de que la tabla no sea DB. Esto lo realice con un TRY....EXCEPT y ya funcionó.

También logré importar la estructura de una base SQL Server, pero hay tipos de datos que aún desconozco su igualdad en Firebird, pero estoy trabajando para obtener todos los tipos de datos.

Encontré un error de tipo en el DATETIME, lo estaba pasando así a Firebird y no, el tipo es TIMESTAMP.

Esta versión la podrán bajar en

[Herramienta] Migrar Tablas Paradox a Firebird Pdox2FB v3.zip

Nuevamente agradezco su interes en leer este hilo.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #22  
Antiguo 18-04-2007
vlanka24 vlanka24 is offline
Miembro
 
Registrado: mar 2007
Ubicación: México.
Posts: 23
Poder: 0
vlanka24 Va por buen camino
Saludos

Cita:
Empezado por egostar
Hola amigos,

Pues nada, he realizado algunos cambios al codigo de mi "juguetito" en base a los comentarios de Héctor Randolph (muchas gracias) y bueno ya he subido la nueva versión al FTP del Club.

[Herramienta] Migrar Tablas Paradox a Firebird v1.zip

Salud OS.
Hola. Primero que nada debo felicitarte por tu juguete como tu le llamas es muy interesante y sobre todo util.
Solo que tengo un problema no lo he podido descargar para hacer una mejor evaluacion. Hasta ahorita solo he leido todas las aportaciones que te han hecho y los avances que has estado agregando.
De ante mano gracias
Responder Con Cita
  #23  
Antiguo 18-04-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Hola vlanka24, muchas gracias por leerme.

Lo que pasa es que he estado modificando el programa y he subido varias versiones en el FTP, sin embargo, como es lógico, se borran las anteriores y solo queda la última versión.

Puedes bajar la última version de aquí

[Herramienta] Migrar Tablas Paradox a Firebird Pdox2FB v3.zip

Estoy por subir una nueva versión con modificaciones y correcciones y se los dejare saber en cuanto lo haga.

Salud OS y muchas gracias por tu interes, espero te sea útil.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #24  
Antiguo 18-04-2007
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Cita:
Empezado por egostar
Estoy por subir una nueva versión con modificaciones y correcciones y se los dejare saber en cuanto lo haga.
Hola Eliseo!

Antes que nada quisiera agraceder que hayas tomado en cuenta mis comentarios y también quiero aprovechar para reportarte lo siguiente antes de que subas una nueva versión:

Los cambios anteriores con respecto a los acentos en los nombres de tablas y campos funcionan de maravila, excepto cuando se trata de las llaves primarias, es decir, cuando creas el PRIMARY KEY sigue enviando los campos con acentos.

Por lo pronto nu hubo tanto problema porque gracias a que puedo guardar el script generado, lo pude corregir manualmente y lo ejecuté en la consola sin problemas.

Bueno, por el momento es todo y en los próximos días estoy planeando instalar Turbo Delphi para poder compilar el programa. En realidad el componente que no me permite compilar es IBScript, porque la versión de IBX que yo tengo no tiene dicho componente.

Saludos
Responder Con Cita
  #25  
Antiguo 18-04-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Hola Hector,

Al contrario, el agradecido soy yo que he contado con tus acertados comentarios, creo recordar que una de las modificaciones que tengo en la última versión es precisamente esa de la PRIMARY KEY, además de otra cuantas con respecto a la migración de datos, sobre todo en el tipo de dato que se desea exportar.

Bueno, pues nada, se que hay herramientas profesionales que hacen esto mismo, pero, además de que me está sirviendo para aprender (que mucha falta me hace) quiero de alguna forma corresponder a todo lo que he recibido en el club y que agradezco sobremanera.

Nos leemos en la próxima.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #26  
Antiguo 26-04-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Hola,

Nuevamente por aquí, les comento que he subido la última versión de mi juguetito, Pdox2FB v1.0.0.4.

He estado buscando pero aún no encuentro la forma de migrar los datos del tipo BLOB, MEMO a Firebird, esto lo debo hacer con SQL, si alguno de ustedes sabe como hacerlo, le agradecería me lo dejara saber.

Agradezco mucho a todos los que han tenido el interés de leerme y espero que esto les sirva de algo.

Aqui podrán bajar la nueva versión.

[Herramienta] Migrar Tablas Paradox a Firebird Pdox2FB v4.zip

Salud OS.

PD: Un favor a los moderadores podrían borrar la versión anterior, muchas gracias.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #27  
Antiguo 26-04-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
Código Delphi [-]
      while not Table1.Eof do begin
         CamposSQL  := '';
         ValoresSQL := '';
         for j := 0 to Table1.FieldCount-1 do begin
             NombreCampo := Table1.Fields[j].FieldName;
             NombreCampo := StringReplace(NombreCampo,'(','',[rfReplaceAll]);
             NombreCampo := StringReplace(NombreCampo,')','',[rfReplaceAll]);
             NombreCampo := TranslateChars(NombreCampo, CHARS_ACENTUADOS, CHARS_SINACENTO);
             If UpperCase(NombreCampo) = 'PASSWORD' Then
                NombreCampo := 'PASSCODE';
             If UpperCase(NombreCampo) = 'SIZE' Then
                NombreCampo := 'SIZE1';
             CamposSQL := CamposSQL + NombreCampo;
             case Table1.Fields[j].DataType of
                  ftString,
                  ftWideString: begin
                        CampoPaso  := Table1.Fields[j].AsString;
                        CampoPaso  := StringReplace(CampoPaso,'''','´',[rfReplaceAll]);
                        ValoresSQL := ValoresSQL+#39+CampoPaso+#39;
                  end;
                  ftMemo,ftBlob,
                  ftTypedBinary,
                  ftGraphic   : begin
                        ValoresSQL := ValoresSQL+' NULL';
                        //ValoresSQL := ValoresSQL+' :BLOB'+inttostr(i);
                        CampoBlob  := True;
                  end;
                  ftDate,
                  ftTime,
                  ftDateTime,
                  ftTimeStamp : begin
                        if Table1.Fields[j].AsString = '' then
                           ValoresSQL := ValoresSQL+' NULL'
                        else ValoresSQL := ValoresSQL+#39+Table1.Fields[j].AsString+#39;
                        ValoresSQL := StringReplace(ValoresSQL,'/','.',[rfReplaceAll]);
                  end;
                  ftInteger,
                  ftSmallint    : begin
                         if Table1.Fields[j].AsString = '' then
                            ValoresSQL := ValoresSQL+'0'
                         else ValoresSQL := ValoresSQL+Table1.Fields[j].AsString;
                  end;
                  ftFloat,
                  ftCurrency  : begin
                         if Table1.Fields[j].AsString = '' then
                            ValoresSQL := ValoresSQL+'0.00'
                         else ValoresSQL := ValoresSQL+Table1.Fields[j].AsString;
                  end;
                  ftBoolean   : begin
                         if Table1.Fields[j].Value = True then
                            ValoresSQL := ValoresSQL+'1'
                         else ValoresSQL := ValoresSQL+'0';
                  end;
                  else begin
                         ValoresSQL := ValoresSQL+Table1.Fields[j].AsString;
                  end;
             end;
             if j < Table1.FieldCount-1 then begin
                CamposSQL  := CamposSQL + ',';
                ValoresSQL := ValoresSQL + ',';
             end;
         end;
         IBQuery1.SQL.Text := 'INSERT INTO '+ ListBox1.Items[i]+
                              ' ('+CamposSQL+')'+
                              ' VALUES ('+ValoresSQL+')';


Creo que tendrás que usar parámetros. Yo lo haría así

Código Delphi [-]
  // primero creamos la consulta con los parámetros
  CamposSQL := ' (';
  ValoresSQL := ' (';
  for i := 0 to Table1.Fields.Count - 1 do
  begin
    CamposSQL := CamposSQL + Table1.Fields[i].FieldName + ',';
    ValoresSQL := ValoresSQL + ':' + Table1.Fields[i].FieldName + ',';
  end;
  // quitamos la coma sobrante al final
  Delete(CamposSQL, Length(CamposSQL), 1);
  Delete(ValoresSQL, Length(ValoresSQL), 1);
  CamposSQL := CamposSQL + ') ';
  ValoresSQL := ValoresSQL + ') ';

  with IBQuery1.SQL do
  begin
    Clear;
    Add('INSERT INTO ' + ListBox1.Items[i]);
    Add(CamposSQL);
    Add(' VALUES ' + ValoresSQL);
  end;

  // aquí traspasamos los datos usando los parámetros
  while not Table1.eof do
  begin
    for i := 0 to Table1.Fields.Count - 1 do
    begin
      // No sé si aceptará todos los tipos de datos, en todo caso habría que hacer
      // un case con los posibles tipos de datos
      IbQuery1.Params[i].DataType := Table1.Params[i].DataType;
      IbQuery1.Params[i].Value := Table1.Params[i].Value;
    end;
    IbQuery1.ExecSQL;
    Table1.Next;
  end;
Responder Con Cita
  #28  
Antiguo 26-04-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Hola basti,

Muchas gracias, me parece una idea excelente, asi que voy a implementarla y te dejaré saber los resultados.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #29  
Antiguo 05-07-2007
Avatar de Colgueit
Colgueit Colgueit is offline
Miembro
 
Registrado: abr 2006
Ubicación: Lanzarote, España
Posts: 91
Poder: 19
Colgueit Va por buen camino
Hola egostar!

Ante todo gracias por tu aportacion con la aplicación para pasar de paradox a firebird.

Es justo lo que necesito , ¿la v.4 es la ultima versión que has hecho?.
Si tienes algunas mas actual agreceria muchisimo que la subieras en el ftp.

Graciasssssssssss

Última edición por Colgueit fecha: 05-07-2007 a las 10:12:24.
Responder Con Cita
  #30  
Antiguo 05-07-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Colgueit
Hola egostar!

Ante todo gracias por tu aportacion con la aplicación para pasar de paradox a firebird.

Es justo lo que necesito , ¿la v.4 es la ultima versión que has hecho?.
Si tienes algunas mas actual agreceria muchisimo que la subieras en el ftp.

Graciasssssssssss
Hola Colgueit

Al contrario gracias a ti por dejarme saber que fué útil mi "juguetito".

Si, la versión 4 es la última, desgraciadamente (o mas bien afortunadamente) he tenido mucho trabajo y no lo he podido actualizar, si tienes algún comentario que sirva para agregar funcionalidades al programa será bienvenido y te lo agradeceré mucho.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Enviar correo desde fastnet desde delphi. uper Internet 1 20-02-2007 01:32:11
create view en delphi piyugo SQL 3 02-09-2004 00:33:00
Utilización del EXTERNAL con CREATE TABLE feruiz Firebird e Interbase 4 01-06-2004 07:15:27
Problema en Create table Red_Delphi Oracle 1 09-02-2004 15:04:02
error en el create table xerkan Firebird e Interbase 3 07-10-2003 15:43:24


La franja horaria es GMT +2. Ahora son las 05:42:16.


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
Copyright 1996-2007 Club Delphi