Esta página fue traducida automáticamente. Lee el original en inglés. English

Biblioteca de IBSurgeon

Cómo habilitar o deshabilitar protocolos de conexión para Firebird en Windows

Firebird en Windows tiene los siguientes modificadores para habilitar explícitamente los protocolos de conexión:

  1. -i habilita el protocolo INET, se usa cuando la cadena de conexión se ve como localhost:Disk\Path\database.fdb o server_name:Disk:\Path\database.fd b, para 3.0 también puede ser inet://servername:disk:\path\bd.fdb
  2. -x habilita el protocolo XNET. En 2.5 y versiones anteriores, la cadena de conexión es la ruta local simple Disk:\Path\database.fdb, en 3.0+ es xnet://Disk:\Path\database.fdb
  3. -w habilita el protocolo WNET (NetBEUI), para cadenas de conexión como \ \servername\disk:\path\database.fdb. No use tales cadenas de conexión (¡es tema de otro artículo por qué es malo)!

Por defecto, todos los protocolos están habilitados.

Sin embargo, si se especifica explícitamente algún modificador, ¡los protocolos no especificados quedan deshabilitados!

Veamos el siguiente ejemplo

El comportamiento predeterminado: los 3 protocolos están habilitados:

Code
C:\HQbird\Firebird30>firebird  -a

C:\HQbird\Firebird30>isql -user SYSDBA -pass masterkey  localhost:o:\OLTP30.V20190415.FDB
Database: localhost:o:\OLTP30.V20190415.FDB, User: SYSDBA
SQL> exit;

C:\HQbird\Firebird30>isql -user SYSDBA -pass masterkey  xnet://o:\OLTP30.V20190415.FDB
Database: xnet://o:\OLTP30.V20190415.FDB, User: SYSDBA
SQL> exit;

C:\HQbird\Firebird30>isql -user SYSDBA -pass masterkey  \\Win-0u7pnfkg57p\o:\OLTP30.V20190415.FDB
Database: \\Win-0u7pnfkg57p\o:\OLTP30.V20190415.FDB, User: SYSDBA
SQL>exit;

Solo XNET (conexión local) está permitido:

Code
C:\HQbird\Firebird30>firebird  -a  -x

C:\HQbird\Firebird30>isql -user SYSDBA -pass masterkey  localhost:o:\OLTP30.V20190415.FDB
Statement failed, SQLSTATE = 08006
Unable to complete network request to host "localhost".
-Failed to establish a connection.
Use CONNECT or CREATE DATABASE to specify a database
SQL> exit;

C:\HQbird\Firebird30>isql -user SYSDBA -pass masterkey  xnet://o:\OLTP30.V20190415.FDB
Database: xnet://o:\OLTP30.V20190415.FDB, User: SYSDBA
SQL> exit;

C:\HQbird\Firebird30>isql -user SYSDBA -pass masterkey  \\Win-0u7pnfkg57p\o:\OLTP30.V20190415.FDB
Statement failed, SQLSTATE = 08006
Unable to complete network request to host ".".
-Failed to establish a connection.
-The system cannot find the file specified.
Use CONNECT or CREATE DATABASE to specify a database
SQL> exit;

Solo INET (conexión TCP) está permitido:

Code
C:\HQbird\Firebird30>firebird  -a  -i

C:\HQbird\Firebird30>isql -user SYSDBA -pass masterkey  localhost:o:\OLTP30.V20190415.FDB
Database: localhost:o:\OLTP30.V20190415.FDB, User: SYSDBA
SQL> exit;

C:\HQbird\Firebird30>isql -user SYSDBA -pass masterkey  xnet://o:\OLTP30.V20190415.FDB
Statement failed, SQLSTATE = 08006
Unable to complete network request to host "xnet://Global\FIREBIRDHQBIRD".
Use CONNECT or CREATE DATABASE to specify a database
SQL> exit;

C:\HQbird\Firebird30>isql -user SYSDBA -pass masterkey  \\Win-0u7pnfkg57p\o:\OLTP30.V20190415.FDB
Statement failed, SQLSTATE = 08006
Unable to complete network request to host ".".
-Failed to establish a connection.
-The system cannot find the file specified.
Use CONNECT or CREATE DATABASE to specify a database
SQL> exit;

Conexiones INET y XNET, pero no permitir WNET:

Code
C:\HQbird\Firebird30>firebird  -a  -i -x

C:\HQbird\Firebird30>isql -user SYSDBA -pass masterkey  localhost:o:\OLTP30.V20190415.FDB
Database: localhost:o:\OLTP30.V20190415.FDB, User: SYSDBA
SQL> exit;

C:\HQbird\Firebird30>isql -user SYSDBA -pass masterkey  xnet://o:\OLTP30.V20190415.FDB
Database: xnet://o:\OLTP30.V20190415.FDB, User: SYSDBA
SQL> exit;

C:\HQbird\Firebird30>isql -user SYSDBA -pass masterkey  \\Win-0u7pnfkg57p\o:\OLTP30.V20190415.FDB
Statement failed, SQLSTATE = 08006
Unable to complete network request to host ".".
-Failed to establish a connection.
-The system cannot find the file specified.
Use CONNECT or CREATE DATABASE to specify a database
SQL> exit;

Estos modificadores se pueden usar para gestionar Firebird en modo aplicación y en modo servicio.

Por ejemplo, si necesita restringir las conexiones al servidor Firebird a través de la red, puede usar el modificador -x.

Otra buena aplicación de los modificadores: si ve errores WNET en firebird.log, significa que alguien usa una cadena de conexión WNET. Especifique -i -x, ¡y fácilmente identificará a los usuarios con cadena de conexión WNET por sus fuertes gritos :)

¿Te gustó? ¿Quieres más consejos, trucos y chistes sobre Firebird? ¡Suscríbete al canal de telegram FirebirdSQL!