이 페이지는 기계 번역되었습니다. 영어 원본을 읽어보세요. English

IBSurgeon 라이브러리

Windows에서 Firebird의 연결 프로토콜을 활성화 또는 비활성화하는 방법

Firebird on Windows에는 연결 프로토콜을 명시적으로 활성화하기 위한 다음과 같은 스위치가 있습니다:

  1. -i는 INET 프로토콜을 활성화합니다. 연결 문자열이 localhost:Disk\Path\database.fdb 또는 server_name:Disk:\Path\database.fd b와 같을 때 사용되며, 3.0에서는 _inet://servername:disk:\path\bd.fdb_도 가능합니다.
  2. -x는 XNET 프로토콜을 활성화합니다. 2.5 이하에서는 연결 문자열이 단순한 로컬 경로 _Disk:\Path\database.fdb_이고, 3.0+에서는 _xnet://Disk:\Path\database.fdb_입니다.
  3. -w는 WNET(NetBEUI) 프로토콜을 활성화하며, \ _\servername\disk:\path\database.fdb_와 같은 연결 문자열에 사용됩니다. 이러한 연결 문자열은 사용하지 마십시오(왜 나쁜지에 대한 내용은 다른 기사에서 다룹니다)!

기본적으로 모든 프로토콜이 활성화되어 있습니다.

그러나 일부 스위치가 명시적으로 지정되면, 지정되지 않은 프로토콜은 비활성화됩니다!

다음 예제를 살펴보겠습니다.

기본 동작 - 3개의 프로토콜 모두 활성화:

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;

XNET(로컬 연결)만 허용:

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;

INET(TCP 연결)만 허용:

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 및 XNET 연결 허용, 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;

이러한 스위치는 애플리케이션 모드와 서비스 모드에서 Firebird를 관리하는 데 사용할 수 있습니다.

예를 들어, 네트워크를 통한 Firebird 서버 연결을 제한해야 하는 경우 -x 스위치를 사용할 수 있습니다.

스위치의 또 다른 좋은 활용: firebird.log에서 WNET 오류가 보이면 누군가 WNET 연결 문자열을 사용하고 있다는 뜻입니다. -i -x를 지정하면, 큰 소리로 외치는 사용자들을 쉽게 식별할 수 있습니다 :)

마음에 드셨나요? 더 많은 Firebird 팁, 트릭, 농담을 원하시나요? FirebirdSQL 텔레그램 채널을 구독하세요!