Firebird es un gestor de base de datos que ha ganado popularidad y que en lo personal me gusta bastante, pues es muy ligero así que decidí hacer algunas pruebas con .NET y al principio resulto bastante complicado encontrar la información para conexión remota pero después de varias horas logré realizar la conexión
Aquí les dejo una lista de pasos que deben realizar para poder conectarse desde .NET. Los primeros pasos son para configurar el servidor Firebird, y permitir atender peticiones provenientes de la red.
En esta entrada mencionare los pasos que se requieren para realizar una conexión a una base de datos remota con el servidor de base de datos Firebird.
1.-Instalar el Servidor Firebird (Super Clasic o Super Server)
2.-Verificar que FireBbird se ejecute como un servicio
3.-Modificar el archivo de configuración, debemos descomentar las siguientes lineas:
RemoteServiceName=gds_db
RemoteServicePort=3050
4.-Crear un alias de la base de datos ( esto se hace en el archivo aliases.config)
MiAliasDeBaseDeDatos = C:\directorio\base.bdf
5.-Agregar(si aún no existe) una regla en el firewall de Windows para permitir la conexión al puerto 3050 (TCP)
6.- Reiniciar el servicio de Firebird Server (no confundir con Firebird Guardian)
Con esto deberemos estar listos para conectarnos, de manera remota, a nuestro servidor de base de
Ahora para poder conectarnos desde .NET (en mi caso en particular uso C#) debemos realizar los siguientes pasos
1- Obtener el proveedor de datos nativo de FireBird
La manera más sencilla de instalarlo es desde la Consola del Administrador de Paquetes de Visual Estudio.
Herramientas>>Administrador de Paquetes de Biblioteca>>Consola del Administrador de Paquetes.
En la consola que se mostrará (parte inferior) escribimos
Install-Package FirebirdSql.Data.FirebirdClient
Esperamos a que termine la instalación que no suele tardar más de dos minutos y ahora ya podemos incluir el espacio de nombres en los archivos que sean necesarios
using FirebirdSql.Data.FirebirdClient;
2.- Crear la cadena de conexión,
private void testConnection()
{
string strCnn = "data source=192.168.0.2; initial catalog=MiAliasDeBaseDeDatos;user id=SYSDBA;password=masterkey;port number=3050"
FbConnection cnn = new FbConnection();
cnn.ConnectionString = strCnn;
try
{
cnn.Open();
cnn.Close();
MessageBox.Show("Conexión Exitosa","Información");
}
catch (Exception er)
{
MessageBox.Show("Error al tratar de abrir la base dedatos. " + er.Message.ToString(), "Error");
}
}