Flamerobin connection failed with Firebird 3.0 in Ubuntu 16.04 LTS - Error: connection rejected by remote interface
Flamerobin connection failed with Firebird 3.0 in Ubuntu 16.04 LTS - Error: connection rejected by remote interface
我刚刚在 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 进行本地连接吗?
您需要 运行 服务 fbguard。
(在 flamerobin 之前安装 Firebird)
我正在做这样的事情:
$ cd /opt/firebird/bin/ sudo ./fbguard
或者
$ cd /opt/firebird/bin/ sudo ./fbguard -onetime -daemon
好的,经过几天尝试配置 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 加载旧库的路径之间创建一个符号 link。为此,我输入了以下命令(首先,我将旧库重命名为 "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 感谢提供线索。
很好的提示,AngelAvila。出现错误 "Engine code: 335544421, Engine Message: connection rejected by remote interface."
它对我有用。在我的具体情况下,a 必须做两件事:
由于文件/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
之后,对使用的文件进行了两处小修改(“...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 中连接数据库。
我刚刚在 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 进行本地连接吗?
您需要 运行 服务 fbguard。 (在 flamerobin 之前安装 Firebird)
我正在做这样的事情: $ cd /opt/firebird/bin/ sudo ./fbguard
或者 $ cd /opt/firebird/bin/ sudo ./fbguard -onetime -daemon
好的,经过几天尝试配置 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 加载旧库的路径之间创建一个符号 link。为此,我输入了以下命令(首先,我将旧库重命名为 "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 感谢提供线索。
很好的提示,AngelAvila。出现错误 "Engine code: 335544421, Engine Message: connection rejected by remote interface."
它对我有用。在我的具体情况下,a 必须做两件事:
由于文件/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
之后,对使用的文件进行了两处小修改(“...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 中连接数据库。