Einzelnen Beitrag anzeigen

Zwirbel

Registriert seit: 17. Aug 2009
64 Beiträge
 
Delphi 10 Seattle Ultimate
 
#5

AW: Konfiguration FB Client/Server

  Alt 5. Jul 2016, 21:15
1) Was genau auf dem Server ist zu tun, nach dem Firebird installiert wurde? (Installiert habe ich "Run Firebird in SuperServer mode" / "Run Firebird server as:" -> "Run as a Service")
Nehmen wir an, eine Datenbank wurde auf dem Server erzeugt und liegt in:
"C:\Program Files\Firebird\Firebird_3_0\examples\empbuild\EMPL OYEE.FDB"
meiner Meinung nach ein äußerst bescheidener Platz. Daten gehören nicht in die PRogramFiles.
Das sehe ich auch so, um so mehr wundert es mich, dass das der Ort ist wo Firebird die Demo-Datenbank ablegt. Ebenfalls gehören in den Ordner "C:\Program Files\Firebird\Firebird_3_0" m.M. nach keine Konfigurationsdateien hin.

Es kann sein, dass der Firebirddienst bzw. der entsprechende Port in der Firewall freigegeben werden muss, damit eine COnnection von außen auf die Datenbank zugreifen kann. Eine Freigabe des Datenbankverzeichnisses ist nicht notwendig und nicht sinnvoll.
OK. Das wurde ja auch in anderen Antworten angedeutet.

2) In vielen Tipps habe ich gelesen, dass man mit Aliasen arbeiten soll, nehmen wir an der Alias für die DB soll "MyAlias" lauten. Wo und wie ist das genau einzutragen?
Und da stand nie dabei wo das einzutragen war? Und Google war auch kaputt? http://www.firebirdsql.org/manual/is...-connect-alias
EIn Alias ist in die aliases.conf einzutragen.
Nein, Google war nicht kaputt. Der Link bringt schon mal Licht ins Dunkel, aber ich hatte mir da etwas anderes vorgestellt. Der Artikel ist alles andere als vollständig. Für einen Anfänger ist das kein komplettes Beispiel, dann auch noch der Misch-Masch von Unix und Windows Konfigs, ständig muss man im Fließtext drauf achten, was gerade beschrieben wird.

3) Was genau auf der Workstation ist zu tun, nach dem Firebird installiert wurde? (Installiert habe ich "Run Firebird in SuperServer mode" / "Run Firebird server as:" -> "Run as a Service")
Auf der Workstation (ich denke du meinst den Client) ist kein Firebirdserver notwendig.
Ja, ich meine den Client. Auch das kam in den anderen Antworten rüber.

4) Welche Komponenten (Delphi 10 Seattle) benötige ich minimal
es gibt zig Komponenten um auf FIrebird zuzugreifen, Zeos, Firedac, IBDac, UIB,.... jede mit entsprechenden Vor- und Nachteilen Die Einstellungen findest Du in der jeweiligen Dokumentation.
OK.

, mit welchen Properties gefüllt, um dann an die Datenbank "..\empbuild\EMPLOYEE.FDB" (bzw. den Alias "MyAlias") ran zu kommen? Derzeit würden die "Params"-Properties einer "TFDConnection"-Komponente so gefüllt aussehen um an die "EMPLOYEE.FDB" ranzukommen, wenn sie lokal auf der Workstation wäre:
Delphi-Quellcode:
dbs_FB.Params.User_Name=sysdba
dbs_FB.Params.Password=masterkey
dbs_FB.Params.DriverID=FB
dbs_FB.Params.CharacterSet=UTF8
dbs_FB.Params.PageSize=16384
dbs_FB.Params.Database=C:\Program Files\Firebird\Firebird_3_0\examples\empbuild\EMPLOYEE.FDB
Wie sähen die Parameter nun aus, wenn ich auf den Alias "MyAlias" zugreifen will, um damit die Datenbank auf dem Server anzusprechen?
Naja, wenn Du einen Alias für den String "C:\Program Files\Firebird\Firebird_3_0\examples\empbuild\EMPL OYEE.FDB" definiert hast, dann wird wohl auch das die Angabe sein, die durch den Alias ersetzt wird
Für die Profis ist das sicherlich sonnenklar, mir war es das nicht.

Im übrigen fehlt mir in der Auflistung der Server/Host sowie die Portangabe, ohne geht das nicht....
Genau deshalb fragte ich ja nach möglichst kompletten realistischen Angaben für mein Beispiel-Szenario.

Zusatzfrage: Gibt es Anleitungen, was ich nun eigentlich genau bei der Auslieferung einer mit Delphi entwickelten Applikation zu deployen habe, wenn sie auf eine FB-Datenbank zugreift und die FB-Datenbank auf einem Server liegt? Klar für mich ist, auf dem Server installiere ich Firebird, soweit logisch. Und auf jeder Workstation muss ich FB auch installieren?
wie oben beschrieben nein, auf den Clients reicht die fbclient.dll.

Und eine Anleitung was genau ausgeliefert wird, sollte sich bei Firebird finden (allerdings finde ich auch auf die schnell nix). Also Server: Firebird als Serverinstallation, Client: Programm + fbclient.dll + Konfigurationdatei in der die Daten für die Verbindung einzustellen sind.

Und wenn du die Anwendung auf mehr als einem Server installieren willst (sprich: bei Kunden einsetzen willst), dann setz dich bitte hin und "schreib" einen vernünftigen Installer:

Auf dem Server wird Firebird installiert - Sinnvoll wäre es den Firebirdserver als "eigenen" FBServer zu installieren (d.h. eigener Dienstname, nicht Default, sowie eigener Port). Damit ist es möglich später im Betrieb einfach den Firebirdserver zu aktualisieren (eben weil das dein eigener ist) ohne Auswirkung auf ggf. andere laufende Anwendungen die Firebird brauchen.
Dazu kommen auf dem Server noch Datenbank + Updateprogramm, dazu ein UNC-Pfad freigegeben in dem das Clientsetup liegt + eine Connection.ini in der angepasst an die locale IP/Rechnername die notwendigen Verbindungsdaten stehen. Das Clientsetup wird nun auf den Clients ausgeführt aus diesem UNC PFad raus, der Installer verwendet dabei die Connection.ini um die lokale DBConnection.ini (oder in die Registry) zu schreiben mit der das Programm dann direkt ohne weitere manuelle Konfiguration gestartet werden kann und die DB findet.
Das ist eine ziemlich komplexe Antwort. Ich hoffe ich kann mit diesen Stichworten dann die entsprechenden Lösungen selbst herleiten.

Sinnvoll wäre es dann noch ein separates Verzeichnis für Updates anzulegen (z.B. als Unterverzeichnis des Clientsetup) in dem die Clients dann nach Updates suchen können, die von Updateprogramm auf dem Server bereit gestellt werden. Der holt sich die Updates von deinem Webserver. Sind die Clients dann entsprechend konfiguriert, dann können diese beim Start nach einem evtl. verfügbaren Update schauen und das selbst installieren, ohne dass ein Admin an jeden Platz laufen muss...
Verstehe.

Vielen Dank für die ausführlichen Antworten. Ich war halt davon ausgegangen, dass ich nicht der Erste bin, der sich mit diesen basics beschäftigt und jeder der eine Anwendung deployen will, die eine FB-Datenbank verwendet, steht doch vor den gleichen Herausforderungen. Das da seitens der FB-Entwickler nicht mehr an Doku zu haben ist wundert mich.
  Mit Zitat antworten Zitat