2016-05-06 18 views
4

Ich habe gerade Firebird 3.0 in Ubuntu 16.04 LTS installiert. Ich kann eine Verbindung mit dem Server mit Flamobin von einem Windows-Computer herstellen. Ich habe Flamerobin auch auf dem Server installiert, um die Datenbanken lokal verwalten zu können, aber nach der Registrierung des Servers und der Datenbank schlagen die Verbindungen fehl. Flamerobin zeigt die folgende Fehlermeldung:Flamerobin Verbindung fehlgeschlagen mit Firebird 3.0 in Ubuntu 16.04 LTS - Fehler: Verbindung von Remote-Schnittstelle abgelehnt

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. 

Haben Sie einen Vorschlag, dieses Problem zu lösen, um sich lokal zu verbinden Flamerobin mit?

+0

Wie verbinden Sie (zeigen Sie die Verbindungseigenschaften Sie verwenden), und welche Version des libfbclient, so. ist geladen? Es klingt, als ob Sie eine Verbindung mit einer Version 2.5 oder früher der Client-Bibliothek herstellen, die aufgrund strengerer Sicherheitseinstellungen nicht standardmäßig funktioniert. –

+0

@MarkRotteveel Entschuldigung für die Verzögerung, ich habe mit anderen Konfigurationen für den Remotezugriff gekämpft Das Problem mit dem lokalen Zugriff besteht weiterhin. Dies sind die Verbindungseinstellungen. Für die Serverregistrierung , Anzeigename: Localhost, Hostname: 127.0.0.1, Portnummer: 3050. Zur Datenbankregistrierung. Anzeigename: Testen, Datenbankpfad: /home/angel/Documentos/FBDB/test.fdb, Authentifizierung: Gespeicherten Benutzernamen und Passwort verwenden, Benutzername: SYSDBA, Passwort: Passwort, Zeichensatz: KEINE, Rolle: (leer). Wie kann ich die Version der Client-Bibliothek überprüfen? – AngelAvila

Antwort

6

Ok, nach ein paar Tagen versuchen, Flamerobin zu konfigurieren, um mit Firebird 3.0 zu verbinden, endlich kann ich es tun.

Zuerst müssen wir wissen, welche Bibliothek Flatorbin zu laden versucht. Um zu wissen, es verwenden wir den folgenden Befehl ein:

ldd /usr/bin/flamerobin | grep libfb 

Ausgang:

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

So lädt Flamerobin eine ältere Version von Client-Bibliothek. Die richtige Client-Bibliothek für Firebird 3.0 ist in den folgenden Pfad:

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

Nach mehreren Stunden der Erforschung (: Ich bin in Linux) entdeckte ich, dass es eine symbolische Verbindung zwischen der richtigen Bibliothek und dem Pfad notwendig schaffen war, wo Flamerobin lädt die ältere Bibliothek. Um dies zu tun ich den folgenden Befehl eingegeben (zuerst, ich umbenannt die ältere Bibliothek „libfbclient.so.2_“):

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

schließlich erneut ausführen und nun Flamerobin er verbunden ist. @MarkRotteveel danke für die Hinweise.

0

Sie müssen den Dienst fbguard ausführen. (Install Firebird vor der flamerobin)

ich einige, wie dies tue: $ cd/opt/firebird/bin/sudo ./fbguard

Oder $ cd/opt/firebird/bin/sudo./fbguard -ontime -daemon

+0

Der Fehler "Verbindung von der Remote-Schnittstelle abgelehnt" wird vom Server an den Client gesendet, sodass der Server ausgeführt wird und eine Verbindung hergestellt wurde. Wenn Firebird nicht gestartet werden würde, würden Sie _connection refuged_ auf Socket-Ebene anstelle von _connection rejected_ auf der Firebird-Server-Ebene erhalten. –

0

Ausgezeichneter Tipp, AngelAvila. Es wurde der Fehler "Engine code: 335544421, Engine Message: Verbindung von der Remote-Schnittstelle abgelehnt" angezeigt.

Es funktionierte für mich. In meinem speziell Fall hatte ein, zwei Dinge zu tun tun:

  1. Da die Datei /usr/lib/i386-linux-gnu/libfbclient.so.2 bereits existiert, ich es libfbclient.so.2test umbenannt:

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

  2. Danach werden zwei kleine Änderung in den verwendeten Dateien ("... i386 -..." statt "... x86-64 ..." und“... libfbclient .so.3.0.1 "statt" ... libfbclient.so.3.0.0"):

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

Schließlich wird die Datenbank nun in Flamerobin verbunden

+0

Es könnte für jeden Fall anders sein, weil es von den Betriebssystem- und Firebird-Versionen abhängt, aber im Wesentlichen ist es die gleiche Lösung. – AngelAvila