Folgender Hintergrund: Ich schreibe gerade an einer Applikation, die, wenn sie fertig ist, auf einem Embedded System mit XP Embedded läuft. Parallel haben wir uns auch eine neue Hardware für die nächste Version zugelegt, die unter Linux läuft und das aktuelle Projekt soll später so umgestellt werden, dass es dann auch mit Freepascal / Lazarus unter Linux läuft. Da ich nur von diesem einen Programm Zugriff auf die Datenbank brauche, habe ich mich im Moment für Firebird Embedded entschieden. Außerdem wollte ich mich damit auch mal etwas beschäftigen um zu sehen wie das funktioniert.
Mein Delphi 2007 ist aktuell in einer XP VM installiert und mein Projekt liegt auf einem Netzwerklaufwerk. Deshalb soll auch die Datenbank im gleichen Ordner auf dem Netzwerklaufwerk liegen.
Zitat von
Hansa:
Edit : warum soll die
DB erst zur Laufzeit erzeugt werden ?
Warum soll man die Datenbank nicht vom Programm aus anlegen lassen. Ich sehe überhaupt gar keinen Grund, warum ich das manuell über irgendein Admin Tool machen sollte. Wenn die Datenbank nicht da ist, wird sie angelegt und ich bin immer sicher, dass das dann auch passt. Ich mache das in der Regel immer so. In eine spezielle Tabelle kommt dann noch eine Versionsnummer der Datenbank rein und wenn es Programmupdates gibt, dann wird die Version der Datenbank abgefragt und eventuell angepasst, falls z.B. in einer Tabelle ein Feld dazu kommt.
Zitat von
Hansa:
Also : Zeos und Netzwerk ist schon mal fast tödlich. Durch embedded
FB wird das Ganze dann vollkommen unsinnig und unbrauchbar. ->
Das verstehe ich nicht. Ich möchte ganz einfach mit einem Programm auf eine Datenbank zugreifen, egal ob die auf einer lokalen Platte oder auf einem Netzwerklaufwerk liegt, dass sollte doch gar nicht so schwierig sein. Ich weiß auch, dass bei Firebird Embedded die Datenbank exklusiv geöffnet wird, was auch beabsichtigt ist, aber das sollte doch auch egal sein, wo sie liegt.
Das fertige Projekt läuft später auf jeden Fall auf einem lokalen Laufwerk, nur möchte ich es halt jetzt zur Entwicklung wie gehabt auf meinem Netzwerklaufwerk auf dem Server belassen, weil Nachts automatisch eine Datensicherung auf Band läuft und ich mir manuelles hin und her kopieren auf ein lokales Laufwerk ersparen möchte. Da können sich nämlich mal dumme Benutzerfehler einschleichen, dass z.B. falsch rum kopiert wird und man sich eine alter Version über neue drüber kopiert. Außerdem möchte ich auch keine zusätzliche Software einsetzen, die so was automatisch macht.
Vielleicht hat ja doch jemand eine Idee, wie ich das, nur zur Entwicklung, so hinbekomme, ansonsten muss ich halt mit einer lokalen Datenbank zur Entwicklungszeit leben. Oder ich probiere einfach mal das ganze direkt als "Superserver" laufen zu lassen, das brauche ich ja dann auch für die Linux Variante, da es dort kein Embedded gibt.
Danke erst mal
Sven