Hallo Zwirbel,
programmiere schon seit geraumer Zeite mit der
FB-Datenbank. Hier der Weg, den ich bestreite:
1) Habe auf dem Server die Installationsroutine von
FB gestartet und die Server-Teile installiert.
2) Auf den Clienten ebenfalls die Installation gestartet und nur die Cliententools installiert.
3) Dann eine Textdatei erstellt mit folgender Zeile:
"192.168.10.22:E:\Datenbank\Datenbank.GDB
//statt PC2 kann auch die
IP-Adresse des Servers genannt werden
// Nach dem Muster "Servername
fad zur Datenbank" oder "ServerIP
fad zur Datenbank", wobei die
IP-Adresse die des Servers ist und E:\ das Originallaufwerk auf dem Server. Für die Clienten müssen diese Laufwerke nicht mal sichbar sein. Der Vorteil dieser Textdatei ist, dass man jederzeit den ort der Datenbank ändern kann ohne das Programm neu zu compellieren.
4)In der Hauptform des Programms (oder dort wo es notwendig ist) dann ein Eintrag z.Bsp.
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
var F: TextFile;
begin
//Datenbankpfad aus textdatei auslesen und in globale variable dbpfad geschrieben
AssignFile(F,'./verbi.txt');
Reset (F);
ReadLn (F, dbpfad);
DataModule1.IBDatabaseArtikel.DatabaseName := dbpfad;
Danke für das Beispiel. Leider habe ich das mit dem Alias noch nicht zum Laufen gebracht.
In einer virtuellen Maschine mit Windows Server 2012 R2 habe ich mir den
FB Server installiert. Eine "C:\Program Files\Firebird\Firebird_3_0\aliases.conf" existierte nicht, die habe ich entsprechend angelegt.
Der Inhalt:
Code:
AM_FB_SERVER=C:\AM\Server\FRA\AM_FB_SERVER.FDB
In ISQL erhalte ich folgende Ergebnisse:
Code:
ISQL Version: WI-V3.0.0.32483 Firebird 3.0
Use CONNECT or CREATE DATABASE to specify a database
SQL> CONNECT "AM_FB_SERVER";
Statement failed, SQLSTATE = 08001
I/O error during "CreateFile (open)" operation for file "AM_FB_SERVER"
-Error while trying to open file
-Das System kann die angegebene Datei nicht finden.
SQL> CONNECT "C:\AM\Server\FRA\AM_FB_SERVER.FDB";
Server version:
WI-V3.0.0.32483 Firebird 3.0
Database: "C:\AM\Server\FRA\AM_FB_SERVER.FDB", User: ------
SQL>
Ergo, mit Alias funktioniert es nicht, ohne schon. Und wie gesagt, hier habe ich noch gar nicht den Versuch unternommen von einem Client zuzugreifen sondern erst mal auf dem Server selbst. Wenn das schon scheitert, brauche ich es von einem Client aus erst gar nicht probieren. Ich gehe auch mal davon aus, dass hier die Firewall noch keine Rolle spielen kann. Übrigens, Windows hatte ich nach Änderungen in der "aliases.conf" neu gestartet, einfach um sicher zu stellen, dass die Änderung auch greift.
Konkrete Beispiele was man nun
genau unter Windows Server 2012 R2 bei der Verwendung von Firebird 3 bzgl der Firewall konfigurieren muss, habe ich nicht gefunden. Nun habe ich mich mal an diese Anleitung
http://www.line18.de/2012/09/24/fire...abe-windows-7/ gehalten. Erwartungsgemäß hat das nichts daran geändert, dass das mit dem Alias immer noch nicht klappt.
Also so frickelig (bzgl. Konfiguration) hatte ich mir das mit
FB nicht vorstellt.