2016-05-06 43 views
4

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

+0

如何连接(告诉你使用什么libfbclient版本的连接属性),以及左右。这听起来像是你使用2.5或更早版本的客户端库进行连接,由于更严格的安全设置,默认情况下它不起作用。 –

+0

@MarkRotteveel对不起,我正在与其他远程访问配置,本地访问问题仍然存在,这些是连接设置,用于服务器注册,显示名称:Localhost,主机名:127.0.0.1,端口号:3050。用于数据库注册。显示名称:测试,数据库路径:/home/angel/Documentos/FBDB/test.fdb,认证:使用保存的用户名和密码,用户名:SYSDBA,密码:密码,字符集:无,角色:(空)。我如何验证客户端库版本? – AngelAvila

回答

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加载客户端库的旧版本。对于火鸟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感谢您的线索。

0

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

我做一些这样的: $ CD /选择/火鸟/斌/须藤./fbguard

或者 $ CD /选择/火鸟/斌/须藤。/fbguard -onetime -daemon

+0

由远程接口拒绝的连接错误从服务器发送到客户端,所以服务器正在运行并建立了连接。如果Firebird不会启动,那么您会在套接字层上拒绝_连接,而不是Firebird服务器级别上的_connection rejected_。 –

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

+0

对于每种情况它都可能不同,因为它依赖于操作系统和Firebird版本,但本质上它是相同的解决方案。 – AngelAvila

相关问题