Einzelnen Beitrag anzeigen

Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Konfiguration FB Client/Server

  Alt 5. Jul 2016, 11:20
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. 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.

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.

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.

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.


, 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
Im übrigen fehlt mir in der Auflistung der Server/Host sowie die Portangabe, ohne geht das nicht....


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.
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....

Grüße
  Mit Zitat antworten Zitat