Firebubin连接在Ubuntu 16.04 LTS中使用Firebird 3.0失败 - 错误:远程接口拒绝连接

Ang*_*ila 4 ubuntu firebird flamerobin firebird-3.0

我刚刚在Ubuntu 16.04 LTS中安装了Firebird 3.0.我可以从Windows计算机上使用Flamerobin连接到服务器.我还在服务器中安装了Flamerobin,以便能够在本地管理数据库,但是在注册服务器和数据库之后,连接失败了.Flamerobin显示以下错误消息:

IBPP::SQLException
Context: Database::Connect,
Message: isc_attach_database failed,
SQL Message: -923, Connection not established,
Engine code: 335544421, Engine Message: connection rejected by remote interface.
Run Code Online (Sandbox Code Playgroud)

您有什么建议来解决这个问题,并能够使用Flamerobin进行本地连接吗?

Ang*_*ila 6

好的,在尝试配置Flamerobin以连接Firebird 3.0几天后,我终于可以做到了.

首先,我们需要知道Flamerobin正在尝试加载哪个库.要知道它,我们使用以下命令:

ldd /usr/bin/flamerobin | grep libfb
Run Code Online (Sandbox Code Playgroud)

输出:

libfbclient.so.2 => /usr/lib/x86_64-linux-gnu/libfbclient.so.2 (0x00007f48bb6f0000)
Run Code Online (Sandbox Code Playgroud)

因此,Flamerobin加载旧版本的客户端库.Firebird 3.0的正确客户端库位于以下路径中:

/opt/firebird/lib/libfbclient.so.3.0.0
Run Code Online (Sandbox Code Playgroud)

经过几个小时的研究(我是Linux的新手),我发现有必要在正确的库和Flamerobin加载旧库的路径之间创建一个符号链接.为此,我输入以下命令(首先,我将旧库重命名为"libfbclient.so.2_"):

sudo ln -s /opt/firebird/lib/libfbclient.so.3.0.0 /usr/lib/x86_64-linux-gnu/libfbclient.so.2
Run Code Online (Sandbox Code Playgroud)

最后,再次执行Flamerobin,现在它已连接.@MarkRotteveel感谢您的线索.