Chicos, Ayer un cliente me dijo que quería migrar todo a software libre y le recomendé como SO Ubuntu, porque entre todas la distros que vi me parece que es la mas adecuada para las personas mayores que se habían acostumbrado (a duras penas) a Windows XP.
En fin como he escuchado muy buenas criticas de Firebird, decidí aventurarme a probar mi sistema hecho en VFP (que actualmente trabaja contra Sql Server 2008 r2) con Firebird. Un colega (Esteban Herrero) amablemente me hizo llegar la documentación que escribió Walter Valiente para su aplicación SQL_Demo en la cual explica claramente como se trabaja sobre este motor. Pero allí no se menciona ninguna utilidad de importación de datos de SQL Server a Firebird, así que desde Sql Server genere un script con la estructura total de la base y pacientemente gracias a la herramienta SQL Manager que menciona Walter, estaba creando una a una las tablas ya que el script generado por SqlServer, no tiene la misma sintaxis que se utiliza en Firebird... Cuando iba por la linea 300 de 6500 me decidí a probar suerte en Google a ver si encontraba alguna herramienta que me hiciese la vida un poco mas fácil... Primero me fui a la pagina de Firebird y en la documentación de migración vi que mencionaban dos herramientas para eso, pero los links eran viejos y no llegaban a puerto... Me decidí a buscar el nombre de la herramienta que mencionaban realizada por Marcelo Lopez Ruiz y encontré este link... http://codecentral.embarcadero.com/Item/16691 Para bajarlo deben registrarse en Embarcadero. La migración falla pero genera una estructura compatible para Firebird... El Sql generado tiene 1. La estructura de cada tabla de la base de datos (en mi caso 75), que si se ejecuta desde el editor del SQL Manager crea las tablas en un abrir y cerrar de ojos. 2. Los script de insersión de los datos, que no conviene ejecutarlos desde el editor porque arma una pantalla interactiva de carga... Seguramente este paso convendría ejecutarlo con un programa de VFP por un lado leyendo al SQL Server y por otro insertando en el Firebird... Total en el punto 1 no crea ni los indices ni los Triggers.. 3. La estructura de todos los indices para que puedan ser ejecutados desde el editor del SQL Manager... 4. Como ademas una de las tablas que tengo tiene un campo identity al final crea una tabla especial y el trigger correspondiente para simular el identity. Y esto también puede ser ejecutado desde el editor de SQL Manager... Impresionante!!! porque algo que me iba a llevar todo el día... ya lo tengo creado y ahora lo que me falta es: 1. Crear los triggers de cada tabla.(Debo traducirlos porque la sintaxis es distinta, pero los tengo escritos en el script de SQLServer) 2. Crear los Store Procedures (idem caso 1) 3. Crear las funciones (idem caso 1) 4. Hacer el programa de migración para la carga de datos pero con la sentencia de carga que se me generó en el punto 2 del asistente de Marcelo. Espero que mi experiencia a alguien mas le sirva. Saludos, Pancho Córdoba
