Bu sayfa makine çevirisidir. İngilizce orijinalini okuyun. English

IBSurgeon kütüphanesi

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:

  1. -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.
  2. -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.
  3. -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:

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;

Yalnızca XNET (yerel bağlantı) izinlidir:

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;

Yalnızca INET (TCP bağlantısı) izinlidir:

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;

INET ve XNET bağlantıları, ancak WNET’e izin verme:

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;

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!