Firebird'da Windows üzerinde bağlantı protokollerini etkinleştirme veya devre dışı bırakma
Firebird Windows üzerinde bağlantı protokollerini açıkça etkinleştirmek için aşağıdaki anahtarlara sahiptir:
- -i INET protokolünü etkinleştirir; bağlantı dizesi localhost:Disk\Path\database.fdb veya server_name:Disk:\Path\database.fd b gibi göründüğünde kullanılır, 3.0 için ayrıca inet://servername:disk:\path\bd.fdb olabilir.
- -x XNET protokolünü etkinleştirir. 2.5 ve öncesinde bağlantı dizesi basit yerel yol Disk:\Path\database.fdb şeklindedir, 3.0+ üzerinde ise xnet://Disk:\Path\database.fdb şeklindedir.
- -w WNET (NetBEUI) protokolünü etkinleştirir, \ \servername\disk:\path\database.fdb gibi bağlantı dizeleri için. Bu tür bağlantı dizelerini kullanmayın (bunun neden kötü olduğu başka bir makalenin konusudur)!
Varsayılan olarak, tüm protokoller etkindir.
Ancak, bir anahtar açıkça belirtilirse, belirtilmeyen protokoller devre dışı bırakılır!
Aşağıdaki örneğe bakalım
Varsayılan davranış - tüm 3 protokol etkindir:
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;
Yalnızca XNET (yerel bağlantı) izinlidir:
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;
Yalnızca INET (TCP bağlantısı) izinlidir:
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;
INET ve XNET bağlantıları, ancak WNET’e izin verme:
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;
Bu anahtarlar, Firebird’ü uygulama modunda ve hizmet modunda yönetmek için kullanılabilir.
Örneğin, Firebird sunucusuna ağ üzerinden bağlantıları kısıtlamanız gerekiyorsa, -x anahtarını kullanabilirsiniz.
Anahtarların bir başka iyi uygulaması: firebird.log dosyasında WNET hataları görüyorsanız, bu birinin WNET bağlantı dizesi kullandığı anlamına gelir. -i -x belirtin ve WNET bağlantı dizesine sahip kullanıcıları yüksek sesli çığlıklarından kolayca tanımlarsınız :)
Beğendiniz mi? Daha fazla Firebird ipucu, püf noktası ve şakası mı istiyorsunuz? FirebirdSQL telegram kanalına abone olun!