FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 04:02:27. Razón: Para una mejor comprensión del tema. |
#2
|
|||
|
|||
Puedes usar el componente TIBScript para ejecutar scripts DDL...
Saludos... |
#3
|
|||
|
|||
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 |
#4
|
|||
|
|||
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 01:59:05. |
#5
|
||||
|
||||
Esto te puede servir
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. |
#6
|
|||
|
|||
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 |
#7
|
|||
|
|||
Sigo tratando de mejorar el programa y debo pedirles una disculpa a los que ya hayan bajado el mismo porque no lo habia subido completo.
Aqui la última versión la cual ya genera las llaves primarias. Espero les guste y sobre todo que les sea de utilidad. Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#8
|
||||
|
||||
Hola egostar.
Si queres puedes subir el código fuente al FTP público; No he querido hacerlo yo, por si tienes algun inconveniente. Lo digo porque así seguro que "perdura" más tiempo y lo tenemos más accesible si más adelante queremos buscarlo. Gracias por el código.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#9
|
||||
|
||||
Un detalle, no uses double precision, usa NUMERIC(10,2) para campos monetarios en Dialecto 3, o tendrás problemas de redondeos y verás que guarda valores que no se corresponden con los introducidos.
Me ha extrañado que al ser un campo indexado, añadas la restricción NOT NULL, eso más bien sería si el campo es obligatorio (Required) ¿no?. Bueno, quizás tú lo necesites así. Por lo demás me parece fantastico el código. Si se puede aportar algo... así puedes saber cual es la clave primaria y crear los índices.
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 30-03-2007 a las 15:23:27. |
#10
|
||||
|
||||
Otro pequeño aporte:
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC. |
#11
|
|||||
|
|||||
Cita:
Cita:
Cita:
Cita:
Cita:
Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#12
|
|||
|
|||
Cita:
|
#13
|
|||
|
|||
Cita:
Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#14
|
|||
|
|||
Ya he conseguido incluir las mejoras que amablemente me han dejado saber.
Ahora y tomandole la palabra a Neftali, quiero subir el programa al FTP de Club Delphi, pero tengo una pregunta, como es un programa que aún creo le faltan muchas mejoras, al subirlo al FTP, ¿puedo sobreescribirlo con las últimos cambios posteriormente? o se agrega uno cada vez que lo subo (por supuesto que lo haría con el mismo nombre). Salud OS y gracias.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#15
|
|||
|
|||
Bueno, pues he alojado el programa en el FTP de Club Delphi.
[Herramienta] Migrar estructura de bases Paradox a Firebird Pdox2FB.zip
Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#16
|
|||
|
|||
Hola amigos
Antes que nada, agradezco a todos los que han leido este hilo. Y pues yo sigo con mi "juguete" de migrar tablas Paradox a Firebird y la intención de este nuevo mensaje es la de dejarles saber que además de la estructura de la base de datos ya he podido migrar los datos de las tablas Paradox a Firebird. Se que aún quedan muchas cosas por hacer y algunos problemas de casting pero mi pobre conocimiento me limita a hacerlo muy lentamente. Se que hay herramientas poderosas que hacen esto mismo, pero como les digo, es un juguete que se me ocurrio desarrollar y que me ha evitado algunos minutos de trabajo extra al estar migrando mis sistemas a Firebird. Ya he subido al FTP del Club la nueva versión y espero que les agrade, si fuera posible me gustaría que me retroalimentaran con sus comentarios, criticas y sugerencias. Aqui pueden bajar este pequeño aporte de mi parte, no tiene restricción alguna, asi que no le he puesto licencia de ningún tipo. [Herramienta] Migrar Tablas Paradox a Firebird Pdox2FB.zip Saludos y gracias por leerme. Sinceramente Eliseo.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#17
|
||||
|
||||
Hola Eliseo!
Antes que nada quisiera felicitarte por tu trabajo, me parece una genial idea esta herramienta para automatizar la conversión entre bases de datos. Esperé hasta llegar a mi casa para poder descargarlo y probarlo con calma, me gustaría hacerte algunas observaciones de lo que me he encontrado hasta ahora. En primer lugar yo tengo Delphi 7 y veo que tu usas una versión más reciente, mi pregunta es ¿puedo utilizar Turbo Delphi Explorer para compilarlo?. Con respecto a la aplicación, mi primera prueba fue la siguiente: Tomé el Alias que viene incluido al instalar las bases de datos Demo de Delphi 7, es decir DBDEMOS, la aplicación llena la lista con todas las tablas que encuentra la ruta, sin embargo no todas las tablas tienen la extensión *.db algunas son *.dbf. Como consecuencia al intentar crear el script para la primera tabla que es Animals.DBF me genera el siguiente error: Mi segunda prueba fue abrir un Alias con unas tablas de paradox que tenía guardadas, el problema según veo es que coloqué acentos en los nombres de las tablas. Me genera el script para crear las tablas, pero los acentos son permitidos en Paradox y no en Firebird, por lo tanto me envía un error al crear la base de datos. Por último me gustaría hacer una sugerencia, sería excelente poder guardar una copia de los scripts que se hayan creado con tu aplicación, incluyendo la sentencias que crean la base de datos y los INSERT para la migración de datos. Esto en ocasiones es útil ya que me puedo llevar estos archivos para ejecutarlos desde la consola o en IBExpert y así me das la oportunidad de agregarle o quitarle líneas para afinar detalles antes de crear la base de datos. Algo así como esto:
Bueno, por el momento es todo y quedo en espera de que me indiques como lo puedo compilar para colaborar en algo. Saludos Última edición por Héctor Randolph fecha: 13-04-2007 a las 09:51:27. |
#18
|
|||
|
|||
Muchas gracias por tu interes Hector.
Si efectivamente no me ha funcionado mas que para base de datos del tipo Paradox (db), seguiré investigando para que lo haga con las DBF. También agregaré la parte de quitar acentos, muchas gracias por la nota, yo nunca he utilizado acentos por lo que no visualice esté punto. Por la parte de crear el archivo, agregaré esa opción muchas gracias por el apunte también. Te agradezco mucho tus comentarios. Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#19
|
|||
|
|||
Cita:
Muchas gracias.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#20
|
|||
|
|||
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.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Enviar correo desde fastnet desde delphi. | uper | Internet | 1 | 20-02-2007 02:32:11 |
create view en delphi | piyugo | SQL | 3 | 02-09-2004 01:33:00 |
Utilización del EXTERNAL con CREATE TABLE | feruiz | Firebird e Interbase | 4 | 01-06-2004 08:15:27 |
Problema en Create table | Red_Delphi | Oracle | 1 | 09-02-2004 16:04:02 |
error en el create table | xerkan | Firebird e Interbase | 3 | 07-10-2003 16:43:24 |
|