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
  #1  
Antiguo 29-03-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
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

Última edición por egostar fecha: 04-04-2007 a las 03:02:27. Razón: Para una mejor comprensión del tema.
Responder Con Cita
  #2  
Antiguo 30-03-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Puedes usar el componente TIBScript para ejecutar scripts DDL...


Saludos...
Responder Con Cita
  #3  
Antiguo 30-03-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
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
Responder Con Cita
  #4  
Antiguo 30-03-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
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

Última edición por egostar fecha: 30-03-2007 a las 00:59:05.
Responder Con Cita
  #5  
Antiguo 30-03-2007
Avatar de Manuel
Manuel Manuel is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz/Chile
Posts: 324
Poder: 22
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.
Responder Con Cita
  #6  
Antiguo 30-03-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
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
Responder Con Cita
  #7  
Antiguo 30-03-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
Cita:
Empezado por 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.
Responder Con Cita
  #8  
Antiguo 30-03-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por 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
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 12:43:52.


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