Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Firebird: Zu Server auf anderem Rechner verbinden (https://www.delphipraxis.net/176043-firebird-zu-server-auf-anderem-rechner-verbinden.html)

Angel4585 8. Aug 2013 12:27

Datenbank: Firebird • Version: 2.5.2 • Zugriff über: FlameRobin

Firebird: Zu Server auf anderem Rechner verbinden
 
Guten Tag!

Ich habe mir auf einem Rechner Firebird installiert und kann lokal auch zugreifen.
Zugriff erfolgt über das Programm "FlameRobin".

Nun möchte ich von einem zweiten Rechner aus darauf zugreifen und bekomme dabei folgende Meldung:
Zitat:

Zitat von FlameRobin
*** IBPP::SQLException ***
Context: Service::Connect
Message: isc_service_attach failed

SQL Message : -902
Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements

Engine Code : 335544721
Engine Message :
Unable to complete network request to host "192.168.115.40".
Failed to establish a connection.

Auf dem Server habe ich in der firebird.conf den "RemoteServicePort" auf 3050 eingestellt.
Das ist gleichzeitig der lokale Port. Ein ändern auf z.B. 3051 ändert aber auch nichts an dem Zustand.
Server wurde nach Portänderung neu gestartet.
Wobei ich kein Plan hab wie das neustarten "korrekt" geht, ich schiss einfach die laufende Instanz ab und der Guardian erstellt dann ne neue :duck:

Naja soweit so gut. Server ist erst frisch installiert.
kA was noch fehlt.
Die Sparte für Remote-Zugriffe in der Hilfe konnte ich leider auch nicht finden.
Irgendwie wirkt die Firebird-Seite nicht so gut organisiert auf mich.
Aber vielleicht bin ich selbst auch nicht gut genug organisiert.

Habt ihr mir Tipps? Also Tipps zum Remotezugriff auf den Datenbankserver?

Hansa 8. Aug 2013 12:37

AW: Firebird: Zu Server auf anderem Rechner verbinden
 
Wie sieht denn der Connection-String aus ? Normal ist z.B. <Servername>:C:\DB\XY.FDB Der Port spielt dabei erstmal keine Rolle.

alex517 8. Aug 2013 12:47

AW: Firebird: Zu Server auf anderem Rechner verbinden
 
Hi,

hast du den Port in der Firewall freigegegben?

Angel4585 8. Aug 2013 13:17

AW: Firebird: Zu Server auf anderem Rechner verbinden
 
Zitat:

Zitat von Hansa (Beitrag 1224016)
Wie sieht denn der Connection-String aus ? Normal ist z.B. <Servername>:C:\DB\XY.FDB Der Port spielt dabei erstmal keine Rolle.

Wie ich oben geschrieben habe, nutze ich das Tool "FlameRobin".
Dort kann man erstmal Server abspeichern mit name, host und port.
Dann hat man die Möglichkeit über "Retrieve server version" die Server-Version zu ermitteln. Das alles noch ohne Datenbank.
Zitat:

Zitat von alex517 (Beitrag 1224020)
Hi,
hast du den Port in der Firewall freigegegben?

:wall: Ne hab ich natürlich nicht. Ich habe mich schon so dran gewöhnt, dass das System meldet, dass jemand was an dem Port machen möchte.
Danke, jetzt funktioniert es! :thumb:

ThomasBab 8. Aug 2013 13:57

AW: Firebird: Zu Server auf anderem Rechner verbinden
 
Hallo!

Ich möchte noch meinen Senf dazugeben.

Bei wir vermeide ich es, bei den Clients den direkten Namen der Datenbankdatei einzugeben.

Im firebird-Verzeichnis gibt es die Datei "aliases.conf"
Dort können Alias-Namen für die Datenbankdatei eingegeben werden, z.B.:

uvrdb = d:\uvrstat\uvrdb.db

Und dann bei den Clients für die Datenbankverbindung z.B.:

IP.NR.Server:uvrdb

Das macht es etwas wartungsfreundlicher, wenn die Datenbankdatei sich ändert. Außerdem ist es sicherer: kein Client hat dann Informationen, wie die DatenbankDATEI heißt!

Gruß
Thomas

IBExpert 8. Aug 2013 17:25

AW: Firebird: Zu Server auf anderem Rechner verbinden
 
Zitat:

Zitat von ThomasBab (Beitrag 1224030)
...bei den Clients den direkten Namen der Datenbankdatei einzugeben.

Im firebird-Verzeichnis gibt es die Datei "aliases.conf"
Dort können Alias-Namen für die Datenbankdatei eingegeben werden, z.B.:

uvrdb = d:\uvrstat\uvrdb.db

Und dann bei den Clients für die Datenbankverbindung z.B.:

IP.NR.Server:uvrdb

Das macht es etwas wartungsfreundlicher, wenn die Datenbankdatei sich ändert. Außerdem ist es sicherer: kein Client hat dann Informationen, wie die DatenbankDATEI heißt!

das mit der alias.conf ist auf jeden Fall gut, aber als Ergänzung: es hindert dich aber auch nichts daran, folgenden Alias zu vergeben

c:\uvrstat\uvrdb.db = d:\uvrstat\uvrdb.db


Links vom Gleichzeichen kann nahezu jeder String stehen, der auch genau so im Connectionstring benutzt werden kann. Je nach Einstellung der Firebird.conf würdest du aber über beide Varianten an die DB kommen. Als Nebelbombe geht auch folgendes

c:\daten\datenbank.mdb = \db\db

Das bringt 75% aller Pseudo Admins schon an die Grenze Ihres Wissens, wenn irgendwo eine Datei referenziert wird, die gar nicht da ist, und die eigentliche db nicht mal eine Endung hat ....

tsteinmaurer 8. Aug 2013 19:02

AW: Firebird: Zu Server auf anderem Rechner verbinden
 
Zusätzlich kann in firebird.conf auch noch folgendes gesetzt werden:
Code:
DatabaseAccess = None
Dann sind Connects nur mehr über Aliase in aliases.conf erlaubt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz