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:
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:
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:
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:
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:
JC
May 15, 2013 @ 15:27:58
Para el apartado «No se está ejecutando el Servidor del Firebird», debemos recordar que el Applet no funciona correctamente para Windows Vista en adelante, es preferible no instalarlo en dichas versiones y mejor usar el Administrador de tareas para buscar los procesos «fbserver.exe» y «fbguard.exe».
Gracias por compartir.
Saludos
wrov
May 15, 2013 @ 16:32:37
Bueno, yo uso Windows 7 y hasta ahora no he tenido problemas, pero gracias por el aviso, lo tendré en cuenta.
Saludos.
Walter.
Paola Arizti
Oct 18, 2017 @ 11:31:53
Hola JC, comentabas sobre el apartado «No se está ejecutando el Servidor de Firebird», entré al Administrador de tareas y no encuentro los procesos “fbserver.exe” y “fbguard.exe”. Tengo Windows 10, entonces es posible que el programa no esté soportado.. se instaló el servicio Firebird Server, pero no logro instalar el servicio Firebird Guardian. ¿Alguna idea?
Saludos,
Paola
El índice del blog Firebird21 | Firebird SQL
Jun 16, 2013 @ 20:44:56
Pablo Carrasco
Ago 26, 2016 @ 17:46:47
Excelente ayuda para quienes comienzan en el mundo de firebird, se agradece!!
Lucina Luna
Abr 22, 2019 @ 15:55:59
Hola…quiero hacer una conexión a una base de datos de firebird desde powerbi, ya instale el odbc en mi pc y hago la conexión a una base de datos local y es satisfactoria, pero no se como hacer la conexión a una base de datos del servidor..me podrian ayudar
Tor
Abr 23, 2019 @ 08:20:27
la cadena de conexion es
:
Ejem:
192.168.1.200:C:\BD\datos.fdb
Lucina
Abr 23, 2019 @ 11:32:21
Gracias…Tor
Alejandro
Mar 25, 2020 @ 23:35:24
Buenas noches al querer conectar una base de datos a Excel envía el siguiente mensaje Unable to connect to data source:library C:\Program Files (x86)\Firebird\Firebird_2_5\bin\fbclient.dell Alguien que me pueda ayudar?
wrov
Mar 26, 2020 @ 16:37:01
Hola
Prueba escribiendo entre apóstrofos, y es FBCLIENT.DLL el archivo, no es .DELL
Saludos.
Walter.