4

I just installed Firebird 3.0 in Ubuntu 16.04 LTS. I can connect to the server with Flamerobin from a Windows computer. I also installed Flamerobin in the server to be able to manage the databases locally, but after to register the server and database, connections fails. Flamerobin displays the following error message:

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.

Have you some suggestion to solve this issue and be able to connect locally using Flamerobin?

AngelAvila
  • 418
  • 5
  • 14
  • 1
    How are you connecting (show the connection properties you use), and what version of the libfbclient,so is loaded? It sounds like you are connecting using a 2.5 or earlier version of the client library, which doesn't work by default because of stricter security settings. – Mark Rotteveel May 07 '16 at 07:16
  • @MarkRotteveel Sorry for the delay, I was fighting with other configurations for remote access, issue with local access persists. These are the connection settings. For server registration, Display name: Localhost, Hostname: 127.0.0.1, Port Number: 3050. For database registration. Display name: Testing, Database path: /home/angel/Documentos/FBDB/test.fdb, Authentication: Use saved user name and password, User name: SYSDBA, Password: password, Charset: NONE, Role: (empty). How I can verify the client library version? – AngelAvila May 11 '16 at 23:18

3 Answers3

6

Ok, after a couple of days trying to configure Flamerobin to connect with Firebird 3.0, finally I can do it.

First we need to know which library Flamerobin is trying to load. To know it, we use the following command:

ldd /usr/bin/flamerobin | grep libfb

Output:

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

So, Flamerobin loads an older version of client library. The correct client library for Firebird 3.0 is in the following path:

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

After researching for several hours (I am new in Linux) I discovered that it was necessary create a symbolic link between the correct library and the path where Flamerobin loads the older library. To do this I typed the following command (first, I renamed the older library to "libfbclient.so.2_"):

sudo ln -s /opt/firebird/lib/libfbclient.so.3.0.0 /usr/lib/x86_64-linux-gnu/libfbclient.so.2

Finally, execute again Flamerobin and now it is connected. @MarkRotteveel thanks for the clues.

AngelAvila
  • 418
  • 5
  • 14
0

You need run the service fbguard. (Install Firebird before of flamerobin)

I am doing some like this: $ cd /opt/firebird/bin/ sudo ./fbguard

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

  • 1
    The error `connection rejected by remote interface` is sent from the server to the client, so the server is running and a connection was established. If Firebird wouldn't be started, then you'd get a _connection refused_ on the socket level instead of _connection rejected_ on the Firebird server level. – Mark Rotteveel May 08 '16 at 10:01
0

Excellent tip, AngelAvila. It was appearing the error "Engine code: 335544421, Engine Message: connection rejected by remote interface."

It worked for me. In my specifically case, a had to do do two things:

  1. Since the file /usr/lib/i386-linux-gnu/libfbclient.so.2 already existed, I renamed it to libfbclient.so.2test:

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

  2. After that, two little modification in the files used ("...i386-..." instead "...x86-64..." and "...libfbclient.so.3.0.1" instead "...libfbclient.so.3.0.0"):

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

Finally, the database is now connected in Flamerobin.

DIF
  • 2,440
  • 6
  • 36
  • 49
  • It could be different for every case because it dependends of the OS and Firebird versions, but essentially it is the same solution. – AngelAvila Feb 17 '17 at 18:41