Firebird Embedded DB auf Netzwerk

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Benutzeravatar
gladio
Beiträge: 217
Registriert: Sa 21. Jun 2014, 06:15
OS, Lazarus, FPC: Win10-64 - aktuelle Lazarus/FPC Standard-Edition
CPU-Target: 64Bit
Wohnort: Rügen

Firebird Embedded DB auf Netzwerk

Beitrag von gladio »

Lazarus 2.0.4 auf Windows10/64
Firebird 3, Datenbankanbindung über Zeos

Für eine Datenbankanwendung habe ich mich für Firebird entschieden.
Die Dantenbank soll als Embedded betrieben werden, also keine zusätzliche Server-Installation/Konfiguration für den Anwender.
Die Datenbank selbst sollte an beliebigem Speicherort abgelegt werden können, also nicht nur im Anwendungsverzeichnis.
Eine entsprechende Einstellung für den DB-Speicherort ist vorhanden.
Auf lokalen Laufwerken (auch Windows OneDrive) funktioniert das, nicht aber auf eingebundenen Netzwerk-Laufwerken:

Code: Alles auswählen

SQL Error: Unable to comlete network request to host ".....".
Failed to esteblish a connection. Das System kann die angegebene
Datei nicht finden. Error Code: -902. Unsuccessful execution caused
by a system error that precludes successful execution of subsequent statement.


Mit der Zeos-Einstellung 'HostName' habe ich schon erfolglos experimentiert.
Gibt es dafür überhaupt eine Lösung?
Der Ablageort 'Netzwerk' wäre sehr vorteilhaft, wegen regelmäßigen Backups der DB und der Möglichkeit von unterschiedlichen Clients (natürlich nicht gleichzeitig)
arbeiten zu können.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Firebird Embedded DB auf Netzwerk

Beitrag von af0815 »

Bemühe einmal google zu dem Thema. Da gibt es etliche Information dazu.

DB auf ein Netzlaufwerk zu legen ist keine besonders gute Idee. Das Handling der Sperren in der DB ist auf einem Netzlaufwerk ganz einfach schlecht. Im Falle eines Verbindungsabbruch des Netzlaufwerkes ist auch die konsistenz der DB logischerweise ein Problem.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Lemmy
Beiträge: 57
Registriert: Do 23. Feb 2017, 06:18

Re: Firebird Embedded DB auf Netzwerk

Beitrag von Lemmy »

gladio hat geschrieben:L
Der Ablageort 'Netzwerk' wäre sehr vorteilhaft, wegen regelmäßigen Backups der DB und der Möglichkeit von unterschiedlichen Clients (natürlich nicht gleichzeitig)
arbeiten zu können.


genau dafür wurde der Datenbankserver erfunden!

gladio hat geschrieben:Für eine Datenbankanwendung habe ich mich für Firebird entschieden.
Die Dantenbank soll als Embedded betrieben werden, also keine zusätzliche Server-Installation/Konfiguration für den Anwender.


Das ist auch nicht Aufgabe des ANwenders, sondern die Aufgabe des Setupprogramms. sinnvollerweise geht man her und installiert den FB Server unter eigenem Dienstnamen und eigenem Port - dann kommt der auch nicht mit einem evtl. vorhandenen Firebirdserver in die Quere. Das ist dann zwar mal ein Aufwand von 2-3 Manntagen bis das sauber läuft, aber man hat für die Zukunft div. Vorteile:
Server wird installiert und richtet Firebird ein, Port, Dienstname,... Freigabe in Firewall + Verzeichnisfreigabe. In der Verzeichnisfreigabe liegt das Clientsetup, daneben eine Konfigdatei in der die ServerIP/Servername + DBPfad (oder besser Alias) steht. Der Client wird dann gleich konfiguriert, dann kann der Client gleich nach der Installation ohne weitere Konfigurationsarbeit gestartet werden.

Lemmy
Beiträge: 57
Registriert: Do 23. Feb 2017, 06:18

Re: Firebird Embedded DB auf Netzwerk

Beitrag von Lemmy »

gladio hat geschrieben:L
Der Ablageort 'Netzwerk' wäre sehr vorteilhaft, wegen regelmäßigen Backups der DB und der Möglichkeit von unterschiedlichen Clients (natürlich nicht gleichzeitig)
arbeiten zu können.


genau dafür wurde der Datenbankserver erfunden!

gladio hat geschrieben:Für eine Datenbankanwendung habe ich mich für Firebird entschieden.
Die Dantenbank soll als Embedded betrieben werden, also keine zusätzliche Server-Installation/Konfiguration für den Anwender.


Das ist auch nicht Aufgabe des ANwenders, sondern die Aufgabe des Setupprogramms. sinnvollerweise geht man her und installiert den FB Server unter eigenem Dienstnamen und eigenem Port - dann kommt der auch nicht mit einem evtl. vorhandenen Firebirdserver in die Quere. Das ist dann zwar mal ein Aufwand von 2-3 Manntagen bis das sauber läuft, aber man hat für die Zukunft div. Vorteile:
Server wird installiert und richtet Firebird ein, Port, Dienstname,... Freigabe in Firewall + Verzeichnisfreigabe. In der Verzeichnisfreigabe liegt das Clientsetup, daneben eine Konfigdatei in der die ServerIP/Servername + DBPfad (oder besser Alias) steht. Der Client wird dann gleich konfiguriert, dann kann der Client gleich nach der Installation ohne weitere Konfigurationsarbeit gestartet werden.

Antworten