A veces, cuando queremos realizar la conexión a una Base de Datos no podemos lograrlo, los intentos son rechazados.

¿Por qué no podemos conectarnos?

Los motivos pueden ser los siguientes:

  • No tenemos instalado el Servidor del Firebird
  • No se está ejecutando el Servidor del Firebird
  • No tenemos instalado el Cliente del Firebird
  • No tenemos instalado el driver ODBC del Firebird
  • Está registrado GDS32.DLL
  • Escribimos mal el nombre o la ruta de la Base de Datos
  • Escribimos mal el nombre del usuario
  • Escribimos mal la contraseña del usuario
  • La red no está funcionando correctamente
  • El Servidor no se está comunicando por ese puerto
  • El firewall del Windows está bloqueando ese puerto
  • Un programa antivirus está bloqueando ese puerto

No tenemos instalado el Servidor del Firebird

Para verificarlo, en la computadora donde supuestamente está instalado el Servidor del Firebird, hacemos click en:

Inicio | Panel de control

y deberíamos ver un icono llamado «Firebird Server Manager». Si no lo vemos, el Firebird no está instalado

No se está ejecutando el Servidor del Firebird

Para verificar que el Servidor del Firebird se esté ejecutando:

Inicio | Panel de control

y luego click (o doble click) sobre el icono denominado «Firebird Server Manager»

Si vemos algo como la siguiente captura de pantalla:

Firebird is running

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

entonces el Servidor del Firebird se está ejecutando correctamente (la palabra «running» significa que está «corriendo», o sea ejecutándose)

No tenemos instalado el Cliente del Firebird

Para verificarlo hacemos click en:

Inicio | Todos los programas 

y buscamos una carpeta llamada Firebird 2.5

si encontramos dicha carpeta entonces está instalado

ADVERTENCIA: En las computadoras de los usuarios debes instalar solamente el Cliente del Firebird, en esas computadoras no debes instalar el Servidor del Firebird. El Servidor debe ser instalado en una sola computadora, en aquella donde se encontrará la Base de Datos. El Cliente puedes instalarlo también donde se encuentra el .EXE de tu aplicación, eso es lo recomendable.

No tenemos instalado el driver ODBC del Firebird

Para verificarlo hacemos click en:

Inicio | Todos los programas | Firebird

y buscamos una carpeta llamada Firebird 2.5

si encontramos dicha carpeta entonces está instalado

Está registrado GDS32.DLL

El antecesor de Firebird se llama Interbase. Interbase usaba en el Cliente una librería de enlace dinámico llamada GDS32.DLL pero ahora el Firebird utiliza FBCLIENT.DLL

Si GDS32.DLL está registrado eso puede causarle conflictos a FBCLIENT.DLL, por lo tanto la solución es des-registrarlo y eso lo hacemos con:

Inicio

(y donde dice: «Buscar programas y archivos» escribimos):

REGSVR32 /u RutaDeAcceso\GDS32.DLL

Por ejemplo:

REGSVR32 /u C:\MisSistemas\Librerias\GDS32.DLL

Escribimos mal el nombre o la ruta de la Base de Datos

Si el nombre de nuestra Base de Datos es CONTA.FDB pero cuando quisimos conectarnos escribimos COMTA.GBF por supuesto que no lo conseguiremos. Siempre debemos verificar que el nombre esté correctamente escrito.

Si no usamos un alias (que se puede especificar en el archivo ALIASES.CONF) entonces también debemos verificar que la ruta sea la correcta. Por ejemplo si la ruta correcta es:

C:\MisDatos\BasesDatos\

y lo que escribimos fue:

C:\NuestrosDatos\Archivos\

por supuesto que no podremos conectarnos

Escribimos mal el nombre del usuario

El nombre del usuario debe estar correctamente escrito (no importan las mayúsculas ni las minúsculas). Por ejemplo si el usuario es:

VERONICA

pero al intentar conectarnos escribimos:

VERONISA

tampoco conseguiremos la conexión

Escribimos mal la contraseña del usuario

Si la contraseña es:

12345678

y lo que escribimos fue:

12345644

tampoco tendremos éxito

La red no está funcionando correctamente

Para comprobar que la computadora donde se encuentra el Cliente puede comunicarse con la computadora donde se encuentra el Servidor puedes abrir la ventanita «Símbolo del sistema» y luego escribir el comando PING seguido del número de IP de la computadora donde se encuentra el Servidor, como se ve a continuación:

PING

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

si no conoces cual es la dirección IP de la computadora donde se encuentra el Servidor puedes averiguarlo abriendo la ventanita «Símbolo del sistema» y escribiendo IPCONFIG, tal como se muestra en esta captura:

IPCONFIG

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

En este ejemplo la dirección IP es 192.168.0.2 pero por supuesto que en tu caso puede variar aunque si está en una red local siempre empezará con 192.168

Si el comando PING te dice:

PING-ERROR

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

que el 100% de los paquetes están perdidos entonces evidentemente ambas computadoras no están pudiendo comunicarse y en ese caso deberías buscar el motivo (cable suelto, router en mal estado, tarjeta de red dañada, cable roto, etc.)

El Servidor no se está comunicando por ese puerto

El Servidor del Firebird utiliza el puerto 3050 (por defecto, puede cambiarse si de lo desea) para comunicarse con el Cliente. Muchas veces, por seguridad o porque hay otra versión del Firebird instalada, se configura al Firebird para que lea otro puerto (eso se hace en la entrada RemoteServicePort del archivo FIREBIRD.CONF que se encuentra en la carpeta donde instalaste el Firebird).

Por ejemplo, en el archivo FIREBIRD.CONF podría haberse escrito:

RemoteServicePort = 3099

lo cual tendrá por efecto que el Servidor leerá el puerto 3099 (no el puerto 3050) para comunicarse con el Cliente. Si se cambia el puerto por defecto (o sea, si la entrada RemoteServicePort tiene cualquier número que sea distinto a 3050) entonces cuando queremos conectarnos a una Base de Datos deberemos especificar sí o sí el número del puerto en el string de conexión, por ejemplo:

CONNECT 192.168.0.2/3099:C:\MisBasesDatos\Contabilidad.fdb USER SYSDBA PASSWORD masterkey;

En otras palabras, si en RemoteServicePort hay cualquier número que no sea 3050 para conectarte a la Base de Datos tendrás que escribir ese número, tal como se muestra arriba.

El firewall del Windows está bloqueando ese puerto

Por defecto, el firewall del Windows lo tendrá bloqueado al puerto 3050 (y muy posiblemente a cualquier otro puerto que se haya especificado en RemoteServicePort) así que si el firewall del Windows está activo tendrás que liberar a dicho puerto. ¿Por qué? porque si no lo liberas te resultará imposible comunicarte con el Servidor del Firebird y por lo tanto tampoco podrás conectarte a tu Base de Datos.

Para liberar un puerto (para entrada) en el Firewall del Windows:

    • Inicio
    • Panel de control
    • Firewall de Windows
    • Configuración avanzada
    • Reglas de entrada
    • Nueva regla …
    • Puerto
    • Siguiente
    • ¿Se aplica esta regla a TCP o UDP? elegir TCP
    • Puertos locales específicos: escribir 3050 (o el número de puerto que deseas liberar)
    • Siguiente
    • Permitir la conexión
    • Siguiente
    • Marcar: Dominio, Privado, Público
    • Siguiente
    • En Nombre: asignarle un nombre a esta regla, por ejemplo: Firebird3050 (si el puerto liberado fue el 3050)
    • Finalizar

Un programa antivirus está bloqueando ese puerto

Algunos antivirus también actúan como firewall y en tales casos bloquean a la gran mayoría de los puertos de la computadora donde están instalados. Si la computadora del Servidor tiene uno de esos antivirus entonces deberás configurarlo para que libere al puerto 3050 (o al puerto que el Servidor del Firebird esté utilizando.

Artículos relacionados:

El índice del blog Firebird21

El foro del blog Firebird21