Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Bases de datos > Firebird e Interbase
Register FAQ Members List Calendar Guía de estilo Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 29/03/2007
[egostar] egostar is offline
Registrado
 
Join Date: Feb 2006
Posts: 6,572
Poder: 27
egostar Va camino a la fama
Migrar estructura de tablas paradox a Firebird

Hola todos

Quiero ejecutar un script para crear tablas de firebird pero desde Delphi.

Ya he conseguido crear la tabla desde Delphi pero ahora no encuentro como crear las tablas.

¿alguno de ustedes me puede decir como hacer esto?

Salud OS y gracias.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney

Last edited by egostar : 04/04/2007 at 03:02. Reason: Para una mejor comprensión del tema.
Reply With Quote
  #2  
Old 30/03/2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Join Date: May 2003
Location: Campeche, México
Posts: 2,732
Poder: 26
maeyanes Va por buen camino
Puedes usar el componente TIBScript para ejecutar scripts DDL...


Saludos...
Reply With Quote
  #3  
Old 30/03/2007
[egostar] egostar is offline
Registrado
 
Join Date: Feb 2006
Posts: 6,572
Poder: 27
egostar Va camino a la fama
Muchas gracias maeyanes, lo voy a probar y comento los resultados.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Reply With Quote
  #4  
Old 30/03/2007
[egostar] egostar is offline
Registrado
 
Join Date: Feb 2006
Posts: 6,572
Poder: 27
egostar Va camino a la fama
Bueno pues muchas gracias maeyanes, las tablas fueron creadas perfectamente.

Ahora les voy a comentar el porque de esto, resulta que como soy muy flojo, como dirian por aqui algunos "soy un vago", estoy migrando los sistemas que tengo de Paradox a Firebird, pero (como siempre hay un pero), me da flojera estar creando las tablas desde el IBExpert.

Por tal razón me puse a la tarea de crear un programita para migrar las definiciones de las tablas sin tener que escribir nada, es decir, solo selecciono el Alias que quiero migrar y el sistema me genera el script de la base.

Una vez que el script está generado, con un simple click creo la base de datos en Firebird y las tablas.

Aquí les pego el código fuente para quien le interese y también al igual que yo le de flojera esta migración.

Hay algunos detalles que no se como atacarlos, por ejemplo, los campos Blob o Memo de paradox, no se su correspondencia en Firebird, de igual forma no he puesto todos los tipos de datos, solo incluí los digamos tipos estandard.

Se que por aqui habrá quien le de su toque maestro y espero que éste se vea favorecido por sus aportaciones.

Edito: Hay un bug, pero es por la razón que les comenté, no he incluido todos los tipos de datos, por lo tanto, les puede enviar un error cuando el último campo de la tabla es de un tipo NO incluido.

Otra cosa, aun me falta asignar las llaves, los campos NOT NULL, pero estoy trabajando en eso.

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

Last edited by egostar : 30/03/2007 at 00:59.
Reply With Quote
  #5  
Old 30/03/2007
Manuel's Avatar
Manuel Manuel is offline
Miembro
 
Join Date: May 2003
Location: San Pedro de la Paz/Chile
Posts: 324
Poder: 24
Manuel Va por buen camino
Esto te puede servir

Código SQL [-]
        tabla := 'T12345';
        Query6.Close;
        Query6.SQL.Clear;
        Query6.SQL.Add('CREATE TABLE '+tabla+'(');
        Query6.SQL.Add('CODIGO DOUBLE PRECISION NOT NULL,');
        Query6.SQL.Add('nota SMALLINT,');
        Query6.SQL.Add('INSUFICIENTE SMALLINT,');
        Query6.SQL.Add('SUFICIENTE SMALLINT,');
        Query6.SQL.Add('BUENO SMALLINT,');
        Query6.SQL.Add('MUYBUENO SMALLINT,');
        Query6.SQL.Add('total SMALLINT,');
        Query6.SQL.Add('PROMEDIO DOUBLE PRECISION)');
        Query6.ExecSQL;

lo puedes hacer para los para las llaves, etc.
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC.
Reply With Quote
  #6  
Old 30/03/2007
[egostar] egostar is offline
Registrado
 
Join Date: Feb 2006
Posts: 6,572
Poder: 27
egostar Va camino a la fama
Gracias por tu comentario Manuel.

Pues yo sigo con el tema, hubo unos cambios en el programita, cambie el TQuery por un TTable para poder encontrar los índices, en este primer cambio ya logre ingresar el primer índice y funciona bien, sigo aún con el bug de los campos NO incluidos, pero quise primero ver lo de los índices.

En esta parte solo se crea el índice pero no la llave primaria, sigo buscando información para poder lograrlo.

Aquí pueden bajar el código fuente.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Reply With Quote
  #7  
Old 30/03/2007
[basti] basti is offline
Miembro Premium
 
Join Date: Aug 2004
Posts: 388
Poder: 23
basti Va por buen camino
Quote:
Originally Posted by egostar

Hay algunos detalles que no se como atacarlos, por ejemplo, los campos Blob o Memo de paradox, no se su correspondencia en Firebird, de igual forma no he puesto todos los tipos de datos, solo incluí los digamos tipos estandard.
Salud OS.
El tipo memo de Paradox se corresponde con blob sub_type 1 en firebird, el resto de los tipos blob (Graphic, OLE, etc.) son blob sub_type 0.
Reply With Quote
  #8  
Old 30/03/2007
[egostar] egostar is offline
Registrado
 
Join Date: Feb 2006
Posts: 6,572
Poder: 27
egostar Va camino a la fama
Quote:
Originally Posted by basti
El tipo memo de Paradox se corresponde con blob sub_type 1 en firebird, el resto de los tipos blob (Graphic, OLE, etc.) son blob sub_type 0.
Muchas gracias basti, ahora mismo lo pruebo.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Enviar correo desde fastnet desde delphi. uper Internet 1 20/02/2007 01:32
create view en delphi piyugo SQL 3 02/09/2004 00:33
Utilización del EXTERNAL con CREATE TABLE feruiz Firebird e Interbase 4 01/06/2004 07:15
Problema en Create table Red_Delphi Oracle 1 09/02/2004 15:04
error en el create table xerkan Firebird e Interbase 3 07/10/2003 15:43


All times are GMT +2. The time now is 01:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi