A veces puedes encontrarte con la necesidad de saber desde tu aplicación si una Base de Datos corresponde a lo que necesitas.

Por ejemplo, debes importar datos que se encuentran en la Base de Datos de nombre BaseAjena.FDB a tu propia Base de Datos.

Si tú harás esa tarea te resultará fácil comprobarlo, simplemente te conectas a BaseAjena.FDB y miras los nombres de sus tablas usando el programa ISQL.EXE o algún programa de administración gráfica. Ningún problema con eso.

Rápidamente sabrás si esa Base de Datos es correcta o no lo es.

Pero ¿y si no serás tú quien debe realizar el proceso de importación sino un usuario de tu aplicación?

Allí el asunto se complica, porque deberás asegurarte que la Base de Datos externa sea correcta.

Por ejemplo, en la computadora del usuario hay varias bases de datos de Firebird, con distintas finalidades y quizás creadas por distintas personas: Contabilidad, Facturación, Sueldos, etc.

Tú necesitas conectarte a una Base de Datos de Contabilidad, pero no conoces el nombre de esa Base de Datos. Así que le das al usuario la opción de seleccionar la Base de Datos. Pero ¿es una Base de Datos de Contabilidad o no lo es?

Una forma de comprobarlo es verificando los nombres de las tablas de la Base de Datos externa.

Por ejemplo, si la única Base de Datos que tiene una tabla cuyo nombre es ASIENTOSCAB es la Base de Datos contable entonces puedes tener la certeza de que se trata de la Base de Datos adecuada.

Listado 1.

SELECT
   RDB$RELATION_NAME AS NombreTabla
FROM
   RDB$RELATIONS
WHERE
   RDB$RELATION_NAME = 'ASIENTOSCAB'

Si al ejecutar el Listado 1. obtienes que NombreTabla es igual a ASIENTOSCAB entonces ya sabes que la Base de Datos es la correcta. Desde luego que en algunos casos podrías necesitar verificar el nombre de varias tablas para asegurarte bien.

Artículos relacionados:

El índice del blog Firebird21

El foro del blog Firebird21