4

我刚刚在 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.

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

4

3 回答 3

6

好的,经过几天尝试配置 Flamerobin 以连接 Firebird 3.0,我终于可以做到了。

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

ldd /usr/bin/flamerobin | grep libfb

输出:

libfbclient.so.2 => /usr/lib/x86_64-linux-gnu/libfbclient.so.2 (0x00007f48bb6f0000)

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

/opt/firebird/lib/libfbclient.so.3.0.0

经过几个小时的研究(我是 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

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

于 2016-05-12T01:43:51.283 回答
0

很棒的小费,AngelAvila。出现错误“引擎代码:335544421,引擎消息:远程接口拒绝连接。”

它对我有用。在我的具体情况下,必须做两件事:

  1. 由于文件 /usr/lib/i386-linux-gnu/libfbclient.so.2 已经存在,我将其重命名为libfbclient.so.2test

    sudo su
    mv . /usr/lib/i386-linux-gnu/libfbclient.so.2 > /usr/lib/i386-linux-gnu/libfbclient.so.2test

  2. 之后,对使用的文件进行了两次小修改(“...i386-...”而不是“...x86-64...”和“...libfbclient.so.3.0.1”而不是“.. .libfbclient.so.3.0.0"):

    sudo ln -s /opt/firebird/lib/libfbclient.so.3.0.1 /usr/lib/i386-linux-gnu/libfbclient.so.2

最后,数据库现在在 Flamerobin 中连接。

于 2017-02-17T09:58:27.873 回答
0

您需要运行服务 fbguard。(在火烈鸟之前安装 Firebird)

我正在做这样的事情: $ cd /opt/firebird/bin/ sudo ./fbguard

或 $ cd /opt/firebird/bin/ sudo ./fbguard -onetime -daemon

于 2016-05-07T17:32:20.360 回答