Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Firbird Server "finden" (https://www.delphipraxis.net/183164-firbird-server-finden.html)

noisy_master 17. Dez 2014 08:07

Datenbank: Firebird • Version: 2.5 • Zugriff über: Zeos

Firbird Server "finden"
 
Hallo Gemeinde,

endlich auf dem Weg der Umstellung meiner SW von BDE/Paradox auf Firebird bin ich jetzt auf eine Frage gestossen, zu der ich bei Google nicht wirklich fündig geworden bin:

Kann man (und wenn ja wie) einen Firebird Server im Netzwerk "finden" wenn der Rechner mit dem FB Server eine dynamische IP hat?

Danke an alle im Voraus!

Dirk

mkinzler 17. Dez 2014 08:26

AW: Firbird Server "finden"
 
Z.B. wenn Du den Servernamen einträgst, dann wird die Ip des Rechners per DHCP aufgelöst.
Abeer ich würde Server oder Rechner mit Serverdiensten immer eine feste IP geben.

noisy_master 17. Dez 2014 09:52

AW: Firbird Server "finden"
 
Und was mache ich wenn weder das eine noch das andere bekannt ist, weil z.B. wieder mal jemand den Rechnernamen oder die IP des "Servers" geändert hat?
Gibt es sowas wie einen Broadcast, auf den ein Firebird Server antwortet?

Gruß
Dirk

mjustin 17. Dez 2014 09:57

AW: Firbird Server "finden"
 
Zitat:

Zitat von noisy_master (Beitrag 1283717)
Kann man (und wenn ja wie) einen Firebird Server im Netzwerk "finden" wenn der Rechner mit dem FB Server eine dynamische IP hat?

Firebird ist open source, man könnte den Server daher leicht um eine Discovery Technik erweitern bzw. nachschauen ob er schon eine enthält :D

mkinzler 17. Dez 2014 09:59

AW: Firbird Server "finden"
 
Es ändert jemand die IP oder Namen des Servers? :shock:

Nein, von sich aus macht der Firebirdserver das nicht. Das müsstest Du selber implementieren.

QuickAndDirty 17. Dez 2014 10:20

AW: Firbird Server "finden"
 
Zitat:

Zitat von noisy_master (Beitrag 1283739)
Und was mache ich wenn weder das eine noch das andere bekannt ist, weil z.B. wieder mal jemand den Rechnernamen oder die IP des "Servers" geändert hat?
Gibt es sowas wie einen Broadcast, auf den ein Firebird Server antwortet?

PostgresSQL (Opensource und frei) unterstützt "Apple Bonjour" oder "MS-ZeroConf" und kann so über den DNS Server mittels mDNS-Record gefunden werden. Also IP und Port!
Leider kann FB das nicht und ich weiß nicht wie einfach sich das von einem Opensource Projekt klauen lässt um es in ein anderes OpenSource projekt einzutragen!

Ich habe mal angedacht einen Konfigurationsserver zu programmieren der per Bonjour erreichbar ist, dieser würde dann allen Clients die Daten Wie Server Port und Sicherungsverzeichnisse, Installationsverzeichnisse &c. beibringen. Der Konfigurationsserver wäre dann per Bonjour auffindbar.
Leider ist das kein kleines Projekt, da man einen Arschvoll Definitionen und so einbinden muss um mit den Bonjour DLLs von Aplle arbeiten zu können.

Es gibt noch eine andere Möglichkeit. Man könnte den Konfigurationsserver UPNP 2 (UPNP1 ist scheiße) unterstützen lassen. Dazu gibts fertige Delphi Beispiele...obwohl UPNP eigentlich noch viel komplizierter ist!

Sollte dir das "Gefunden werden" Feature sehr wichtig sein. Der MSSQL Server hat das eingebaut weil er dynamische ports unterstützt!
Dazu muss ein Dienst namens "SQL-Server-Browser" auf dem Server aktiv sein. Und du erhälst eine Liste aller im Netz verfügbaren SQL-Server instanzen wenn du ein paar mal auf port 1434 eine 2 broadcastest. Das geht auch mit Indy Componenten. Es gibt hier auch einen Thread dazu...irgendwo hier http://www.delphipraxis.net/1254297-post14.html

noisy_master 17. Dez 2014 11:11

AW: Firbird Server "finden"
 
Das ist aber alles sehr schade...

Kann ich denn mit Delphi feststellen, ob auf dem lokalen Rechner der FB Server läuft(und wenn ja, wie?)? Dann könnte ich ja selber auf einen Broadcast reagieren,oder?

Lemmy 17. Dez 2014 11:22

AW: Firbird Server "finden"
 
Zitat:

Zitat von noisy_master (Beitrag 1283739)
Und was mache ich wenn weder das eine noch das andere bekannt ist, weil z.B. wieder mal jemand den Rechnernamen oder die IP des "Servers" geändert hat?

dann wird dem das Admin-Passwort entzogen, am besten auch das Passwort seines Accounts und er muss ein halbes Jahr einen Rechenschieber verwenden.


Zitat:

Zitat von noisy_master (Beitrag 1283752)
Kann ich denn mit Delphi feststellen, ob auf dem lokalen Rechner der FB Server läuft(und wenn ja, wie?)? Dann könnte ich ja selber auf einen Broadcast reagieren,oder?

Dienst suchen, finden, schauen ob er läuft und dann noch in der Firebird.Conf oder Services-Datei nach dem Port schauen.... Das muss dann aber (um auf einen Broadcast zu reagieren) auch wieder ein Dienst sein.

Nersgatt 17. Dez 2014 11:40

AW: Firbird Server "finden"
 
Zitat:

Zitat von Lemmy (Beitrag 1283753)
Dienst suchen, finden, schauen ob er läuft

Den Dienst zu suchen kann aber auch schief gehen. Man kann Firebird mit einem anderen Dienstnamen starten. Man kann sogar mehrere Firebirdinstanzen gleichzeitig starten.

Das Suchen von Firebird würde ich ganz lassen. Der User soll angeben, wo und auf welchem Port Firebird läuft.
Wenn jemand den Rechnernamen bzw. IP ändern - tja, dann weiß er entweder was er tut, oder hat halt Pech gehabt.

Lemmy 17. Dez 2014 11:56

AW: Firbird Server "finden"
 
Zitat:

Zitat von Nersgatt (Beitrag 1283755)
Zitat:

Zitat von Lemmy (Beitrag 1283753)
Dienst suchen, finden, schauen ob er läuft

Den Dienst zu suchen kann aber auch schief gehen. Man kann Firebird mit einem anderen Dienstnamen starten. Man kann sogar mehrere Firebirdinstanzen gleichzeitig starten.

ah stimmt.. also vergessen..


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:35 Uhr.
Seite 1 von 2  1 2      

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