@Delphi.Natrium: Die Datenbank – Datei wird auf den Server angelegt.
Ich lege auch eine Tabelle an und kann diese dann von einem anderen Rechner aufrufen:
Delphi-Quellcode:
const
SQL_TABELLE = 'CREATE TABLE maschinentab (ma_id integer, ma_bez VARCHAR(100))';
begin
SQL1:= SQL_TABELLE;
SQL_Memo.Lines.Add(SQL1);
IBCQuery1.SQL.Text := SQL_Memo.Lines[1];
IBCQuery1.ExecSQL;
IBCConnection1.Connected := FALSE;
End;
Das es geht, hab' ich durchaus verstanden, die Frage ist nur, ob dazu der FireBird-Dienst auf dem Server genutzt wird oder der Client die Embeddedversion von FireBird nutzt.
Sprich: Klappt es auch noch, wenn Du den FireBird-Dienst auf dem Server mal stoppst?
Für mich sieht es so aus, als würde die FireBird-Datenbankdatei "nur" auf 'nem Fileserver liegen.
Für das Programm ist dies transparent, da merkst Du (für gewöhnlich) nicht, welche Version genutzt wird.
Die Frage ist letztlich nicht, ob es funktioniert, sondern auf welchem Weg es funktioniert.
Eventuell kannst Du ja mal einen Test machen:
In eine Tabelle sehr viele Daten einfügen, dann ein sehr komplexes
SQL auf diese Daten ausführen, so dass mit einer längeren Laufzeit zu rechnen ist.
Auf welchem Rechner kannst Du dann im Taskmanager eine Änderung in der CPU-Last sehen?
Ändern sich dabei auf dem Server die Werte für E/A-Bytes (Lesen) bzw. E/A-Bytes (Schreiben) des FireBird.exe-Prozesses?
Wenn nein, wird vom Client die Embedded-Version genutzt.