Questa pagina è stata tradotta automaticamente. Leggi l'originale in inglese. English

Libreria IBSurgeon

Come abilitare o disabilitare i protocolli di connessione per Firebird su Windows

Firebird su Windows ha i seguenti switch per abilitare esplicitamente i protocolli di connessione:

  1. -i abilita il protocollo INET, utilizzato quando la stringa di connessione appare come localhost:Disk:\Path\database.fdb o server_name:Disk:\Path\database.fd b, per 3.0 può anche essere inet://servername:disk:\path\bd.fdb
  2. -x abilita il protocollo XNET. Su 2.5 e versioni precedenti la stringa di connessione è il semplice percorso locale Disk:\Path\database.fdb, su 3.0+ è xnet://Disk:\Path\database.fdb
  3. -w abilita il protocollo WNET (NetBEUI), per stringhe di connessione come \ \servername\disk:\path\database.fdb. Non usare tali stringhe di connessione (è oggetto di un altro articolo il motivo per cui sono dannose)!

Per impostazione predefinita, tutti i protocolli sono abilitati.

Tuttavia, se uno switch è specificato esplicitamente, i protocolli non specificati vengono disabilitati!

Diamo un’occhiata al seguente esempio

Il comportamento predefinito - tutti e 3 i protocolli sono abilitati:

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 (connessione locale) è consentito:

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 (connessione TCP) è consentito:

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;

Connessioni INET e XNET, ma non consentire 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;

Questi switch possono essere utilizzati per gestire Firebird in modalità applicazione e in modalità servizio.

Ad esempio, se è necessario limitare le connessioni al server Firebird attraverso la rete, è possibile utilizzare lo switch -x.

Un’altra buona applicazione degli switch: se vedi errori WNET in firebird.log, significa che qualcuno sta usando una stringa di connessione WNET. Specifica -i -x, e identificherai facilmente gli utenti con stringa di connessione WNET dalle loro grida forti :)

Ti è piaciuto? Vuoi altri suggerimenti, trucchi e battute su Firebird? Iscriviti al canale telegram FirebirdSQL!