Como seguramente sabes, en cada instalación de Firebird viene incluido un programa llamado ISQL.EXE (Interactive SQL) con el cual puedes realizar todas las operaciones posibles en una Base de Datos (crearla, conectarte a ella, agregarle dominios, tablas, índices triggers, stored procedures, insertar filas, modificar filas, borrar filas, etc., etc. etc.)

También podemos usar ese programa para extraer los metadatos y guardarlos en un archivo de texto plano ¿para qué necesitaríamos hacer algo así? por muchas razones, por ejemplo:

  • Verificar que todos los metadatos son los correctos
  • Verificar que no esté sobrando algún dominio
  • Cambiarle el nombre a una tabla

No es necesario usar ISQL.EXE para estas tareas, las mismas puedes también realizarlas con cualquier administrador gráfico como el EMS SQL Manager, el IBExpert, el Flame Robin, etc., pero la ventaja de hacerlas con ISQL.EXE es que este programa está siempre disponible, siempre lo tenemos a nuestra disposición, en cambio podría darse el caso que no contemos con los otros programas.

Enviar los metadatos a un archivo de texto plano tiene la gran ventaja de que muy rápidamente podemos encontrar la información que necesitamos, por ejemplo:

  • ¿Hay algún índice descendente?
  • ¿Hay alguna tabla sin Primary Key?
  • ¿Los nombres de todas las tablas son los correctos?
  • ¿Todas las tablas hijas tienen Foreign Keys a sus tablas padres?
  • ¿Hay algún dominio que no se esté usando?
  • ¿Todas las tablas que deberían tener columnas calculadas, tienen columnas calculadas?
  • Y un largo etcétera

¿Cómo enviamos los metadatos a un archivo de texto usando ISQL.EXE?

  1. Abriendo la ventanita “Símbolo del sistema” del Windows
  2. Ubicándonos en la carpeta donde se encuentra el programa ISQL.EXE
  3. Escribiendo: ISQL -extract MiBaseDatos > MiArchivoTexto

Donde “MiBaseDatos” puede ser la ruta y el nombre completos de la Base de Datos o simplemente un alias que hayamos especificado en el archivo ALIASES.CONF

ISQL1

Captura 1. Si haces clic en la imagen la verás más grande

En este ejemplo, el alias de la Base de Datos es ERP2000 (se lo definió en el archivo ALIASES.CONF) y el nombre del archivo de texto es ERP2000.SQL (el nombre y la extensión pueden ser cualesquiera, en el caso de la extensión la que más se usa es .SQL) y el símbolo “mayor que” es el utilizado por el DOS para redirigir la salida a un archivo.

Luego de unos segundos, cuando el programa ISQL.EXE finalice su tarea tendremos un archivo de texto llamado ERP2000.SQL conteniendo los metadatos de ERP2000.FDB

Podemos ver el contenido de ese archivo de texto con cualquier programa que permita leer archivos de texto, por ejemplo con el Bloc de Notas del Windows.

ISQL2

Captura 2. Si haces clic en la imagen la verás más grande

En la Captura 2 puedes ver los primeros metadatos.

Ahora, ya es muy fácil revisar el archivo de texto y encontrar cualquier inconsistencia que tenga la Base de Datos.

Artículo relacionado:

El índice del blog Firebird21

 

Anuncios