Kann mich nicht mit meinem Firebirdserver verbinden (FB 2.5)

Forum für Fragen rund um die Installation, Konfiguration und Inbetriebnahme von Firebird.

Moderator: martin.koeditz

Antworten
Jan Bleiss
Beiträge: 4
Registriert: Mo 8. Feb 2021, 17:20

Hallo,

ich bin relativ neu im Metier Firebird (2 Jahre), habe eine Anwendung damit programmiert und nun schlage ich mir die ersten Beulen im Kundeneinsatz. Ich habe versucht, das Forum nach meinem Problem zu durchsuchen, bin jedoch nicht fündig geworden. Zum Problem:

Ich habe den Firebirdserver auf einem Netzwerkserver (Windows-Server 2016) installiert, in ein Verzeichnis, auf das ich auch die Rechte habe und wo meine Anwendung liegt. Ich hatte es zunächst auf c:\program files (x86) versucht, dort konnte ich aber nichts tun, nicht einmal eine Aliases.conf editieren. Daher habe ich diesen Weg gewählt. Der Server heißt (hier fiktiv) CW4711.

Ich habe dafür gesorgt, dass alle Firewalls mir Kanal 3050 erlauben und habe bei den Clients c:\windows\system32\drivers\etc\services geprüft und den Eintrag
gds_db 3050/tcp # InterBase Server
von Hand nachgetragen.

Dann habe ich versucht mittels ODBC auf den Server zuzugreifen. Habe einen System-DNS angelegt und auf meine Datenbank CW4711:FSMDB zugreifen lassen wollen.

Aber egal, ob ich hoch oder niedrig hüpfe, ich bekomme einen Timeout (c:\windows\firebird.log schreibt Fehler 10060) statt eines Zugangs auf meine Datenbank.

Ich habe lange Zeit an den Suchmaschinen dieser Welt zugebracht, um zu sehen, was man bei 10060 machen kann, dabei war ich auf die c:\windows\system32\drivers\etc\services gestoßen, in der 3050/tcp nicht drinnen stand, aber das hat leider auch nichts bewirkt.

Ich bitte um Ideen und Hilfe, um diese Installation fertig zu bekommen und schon vorab um Entschuldigung, wenn ich hier im Forum nicht ausreichend die Suchbegriffe variiert habe.

Viele Grüße
Jan Bleiß
bfuerchau
Beiträge: 276
Registriert: Mo 7. Mai 2018, 18:09

Den Pfad der DB gibt man als lokalen Pfad auf dem Server an, da der FB-Service auf die Datei zugreifen muss.
Die Datenbank wird in ODBC dann per
Server/3050:C:\Pfad\MeineDB.FDB
eingestellt.
Hier findest du diverse Beispiele:
https://www.connectionstrings.com/firebird/
https://www.google.com/url?sa=t&rct=j&q ... AKeH67VE1f

Die Adresse ist generell im Format
<Server>/<port>:<Pfad>\<DBName>
Jan Bleiss
Beiträge: 4
Registriert: Mo 8. Feb 2021, 17:20

danke für den Hinweis, das habe ich getan, in der Aliases.conf steht FSMDB = d:\meinOrdner\meineDatenbank.fdb. Also folgt der Eintag Server:FSMDB . Ich hab es auch versucht mit Server/3050:FSMDB, das ändert leider nichts, der Fehler muss tiefer liegen.

Ich habe es gestern noch einmal mit einem Datenbankmanager (EMB IBManager) versucht, mich mit der Datebank zu verbinden. Der Host ist nicht zu sehen und auch nicht zu verbinden, ergo auch nicht die Datenbank.
bfuerchau
Beiträge: 276
Registriert: Mo 7. Mai 2018, 18:09

Kannst du den Server denn anpingen? Ggf. stimmt dein Routing nicht.
Klappts u.U. mit der IP statt dem Namen?
Wie siehts mit deinen DNS-Suffixen aus (Quellcomputer/Server).
Jan Bleiss
Beiträge: 4
Registriert: Mo 8. Feb 2021, 17:20

Der Server lässt sich anpingen, über Namen, über IP, alles andere, was mit dem Server zu tun hat läuft ja. Auch meine Anwendung - bis auf den Teil Firebird-Datenbank. Ich habe es eben mit der IP versucht:

192.yyy.xxx.100/3050:d:\gruppen\anwender\fsm\fbdb\fsmdb.fdb

links die IP, dann der Kanal und dann der Serverordner wo die Datenbank wohnt. Nix. Timeout. Ich kann auch in den Ordnernamen reinschreiben, was ich will, ich würde erwarten, dass Database not found zurückkomt, aber nein, nur dieser blöde Timeout.
Benutzeravatar
martin.koeditz
Beiträge: 283
Registriert: Sa 31. Mär 2018, 14:35

Hallo Jan,

ein Timeout deutet in jedem Falle darauf hin, dass der FB-Server nicht antwortet und damit auch nicht erreichbar ist.
1. Firewall prüfen, ggf. komplett abschalten
2. Firebird-Dienst prüfen. Wenn der Dienst nicht läuft passiert gar nichts.
2.1. Prüfe mal ob der Port 3050 offen ist und jemand antwortet. Du kannst z.B. per Telnet prüfen, ob der Server antwortet.
Unter Linux sieht das z.B. so aus:

Code: Alles auswählen

telnet 10.1.1.200 3050
Trying 10.1.1.200 ...
Connected to localhost.
Escape character is '^]'.
Wenn der Port blockiert ist bzw. der Dienst nicht läuft:

Code: Alles auswählen

telnet 10.1.1.200 3050
Trying 10.1.1.200 ...
telnet: Unable to connect to remote host: Connection refused.
Unter Windows kenne ich die Befehle nicht, die müssten aber ähnlich sein. Einfach mal prüfen.

Gruß
Martin
Martin Köditz
it & synergy GmbH
Jan Bleiss
Beiträge: 4
Registriert: Mo 8. Feb 2021, 17:20

Hallo Martin,

es ist alles ein wenig schwierig bei dem Kunden, jeder Schritt muss dort vom Admin (externer Dienstleister) gemacht werden. Also habe ich mir heute früh Telnet scharf machen lassen und siehe, Kanal 3050 war blockiert. Das habe ich beim Admin reklamiert, der beteuerte, die Firewall wäre frei für den Kanal. Eben habe ich es nochmal probiert und siehe, der Kanal war auf einmal frei und ich hatte sofort Verbindung zum Firebird-Server und meiner Datenbank.

Ich hatte eingangs darum gebeten, dass sie mir eine User mit Adminrechten auf meinen Anwendungsordner geben sollen, dann wäre autonom und vor allem schneller. Aber nun ist es halt so. Der eine Rechner ist dran, dann bekomme ich auch noch den anderen scharf. Wäre nur interessant, zu erfahren, was der Admin zwischenzeitlich geändert hat...

Vielen Dank für die Tipps, telnet kannte ich zwar schon, aber das hat es letztlich in Bewegung gesetzt...

Viele Grüße
Jan
Antworten