Firebird第二个实例无法访问

时间:2015-07-30 07:04:19

标签: database firebird firebird2.5 isql

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

我使用

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

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

然而,当我将参数作为localhost / secondservice放入主机名时,我无法使用ibo控制台连接到实例,也无法通过isql使用

isql localhost\secondservice:employee  

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

有人会知道缺少什么吗?

2 个答案:

答案 0 :(得分:3)

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

isql localhost/13050:employee

运行服务器的多个实例,还需要为每个实例分别安装。

答案 1 :(得分:2)

这有效

我确定

  1. 注册表没有任何指向firebird 1.5或其他任何东西的firebird相关键。

  2. echo%FIREBIRD%不会打印值

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

    #RemoteServiceName = gds_db
    RemoteServicePort = 3070
    
  4. 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变量和注册表的原因是什么,之后没有多大意义。