sábado, 26 de diciembre de 2015

Conexión de FireBird desde .NET (unable to complete network request to host)


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");
            }

}



martes, 8 de diciembre de 2015

VPN Error 800. Habilitar Conexión L2LP o PPTP detrás de un NAT en Windows XP, Vista ó 7

Ya que tenemos configurado nuestro servidor VPN es común que al intentar conectarnos a la VPN desde un equipo con windows XP, Vista o 7 usando  el protocolo PPT o L2LP se genera un error 800. Este error puede tener muchas causas pero quizás la mas común es que Windos, (Xp, vista y 7)  de manera predeterminad no permite el uso de IPSEC en equipos que se encuentran detrás de un NAT (en este caso el ruteador ) . para solventar el problema hay que realizar los siguientes pasos.

1 Abrir el registro de Windows (Inicio->>Ejecuta "RegEdit" )

2.-Navegas hasta HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent

3.-Agregar la siguiente clave AssumeUDPEncapsulationContextOnSendRuley (Edicin->>Nuevo->>Valor Dword 32 bits)

4.-Establecer el valor de la entrada creada en 2 (Dar doble clic en la entrada creada para poder modificar el valor).

Reiniciar nuestro equipo

Con esto debemos poder conectarnos a nuestra VPN.

Saludos cordiales.