无法访问 Firebird 第二个实例

Firebird second instance is not accessible

我的要求是创建一个命名实例,同时在同一台机器上有一个默认实例 运行 并通过某种管理控制台或命令行连接到它。

我使用

创建了一个 firebird 2.5 秒实例
instsvc install -auto -superserver -guardian -name secondservice
instsvc start -name secondservice

这创建了引擎服务和监护人服务,并已使用 firebird 控制中心和服务 window 确认 运行。

但是,当我将参数作为主机名作为 localhost/secondservice 时,我无法使用 ibo 控制台连接到实例,也无法使用

通过 isql 连接到它
isql localhost\secondservice:employee  

我通过 http://downloads.sourceforge.net/project/firebird/firebird-win32/2.5.4-Release/Firebird-2.5.4.26856-0_Win32.zip

有人知道缺少什么吗?

Firebird 没有像 SQL Server 这样的命名实例的概念。如果你想 运行 第二个实例,那么那个实例的 firebird.conf 文件的配置选项 RemoteServicePort 必须有不同的值(默认为 3050),你需要指定连接时的端口号(假设您在 13050 上配置了端口):

isql localhost/13050:employee

运行服务器的多个实例,也需要您为每个实例单独安装。

这有效

我确定了

  1. 注册表没有任何指向 firebird 1.5 或其他任何与 firebird 相关的密钥。

  2. echo %FIREBIRD% 不打印值

  3. firebird.conf 有以下两行(唯一改变的是端口从 3050 到 3070):

    #RemoteServiceName = gds_db
    RemoteServicePort = 3070
    

运行

instsvc stop -name secondservice

instsvc stop -name DefaultInstance

instsvc r -n secondservice

instsvc install -auto -superserver -guardian -name secondservice

instsvc start -name secondservice

服务已启动 运行

telnet -a 确认服务正在侦听 3070 端口。

isql localhost/3070:C:\test.fdb -user SYSDBA -pass masterkey 

对我有用

它的排序是清除 ENV 变量和注册表,之后没什么大不了的。