Moin Moin!
Mit einer Scriptsprache ist es kein großes Problem, große Teile des Programmcodes in der Datenbank zu halten. Ob das clever oder sinnvoll ist, ist eine andere Frage.
Hast du einen konkreten Lösungsvorschlag? Eine Lösung per Internet wäre am einfachsten. Mit PHP und MySQL ist es ja nicht schwer, so eine Anwendung zu realisieren.
Grundprinzip: select aus einer Tabelle, abhängig vom gerade benötigten Code, String-eval, um aus dem String aus der Datenbank Programmcode im Arbeitsspeicher zu machen, Routinen aufrufen. In Perl z.B. mit einem Hook in @INC.
Aber wozu das? Wenn Du schon Updates verteilst, dann kannst Du auch den Programmcode austauschen statt in der DB herumzueiern.
Aber meine Kunden wollen aus div. Gründen nicht übers Netz mit mir agieren.
Muß / will ich das verstehen? Wenn sie Policies haben, die verbieten, das Netz zu nutzen, warum lassen sie sich dann auf das viel gefährlichere Spiel ein, Dir über den USB-Stick direkten Zugriff auf den Rechner zu gewähren?
Gibt es eine andere Möglichkeit? Ein konkretes Beispiel?
Wofür? Zugriff auf Deine Daten? Entweder lieferst Du sie komplett samt Abfrage-Werkzeug auf einem Medium Deiner Wahl (bzw. nach Kundenwunsch) aus, oder Du bietest einen Zugang über das Netz, oder Du machst ein Callcenter auf, wo Deine Telefonsklaven die Anfragen im Auftrag des Kunden in Deine DB hacken.
ich weiss ncih tob es deinen ansprüchen genügt, aber es gibt "OpenOffice base" - sicher auch als portable version.
Habe ich ausprobiert. Funktioniert es auch, wenn mein Client-PC z.B. keine Java Runtime hat?
Ja, OOO läuft auch ohne JRE, mit minimalen Einschränkungen. (Wobei ich zugeben muß, dass ich den DB-Teil von OOO noch nicht wirklich ohne JRE ausprobiert habe.) Was spricht dagegen, selbst mal zu experimentieren? Ein alter PC oder VMWare, frische OS-Installation, Stick / ISO-Image rein und probieren, ob alles funktioniert.
Kann ich in die Datenbank von Base auch Dateien speichern? Per Datei-Upload-Dialog?
Es gibt bei lokalen Anwendungen keinen Upload. Du kannst vielleicht eigenen Programmcode dazu überreden, eine Datei im Binärmodus zu öffnen, den Inhalt zu lesen, und in ein geeignet großes Datenbank-Feld (BLOB) zu schreiben. Oder entsprechend anders herum aus der DB lesen und in eine Datei schreiben.
Kann man die auch so wie MS Access aufrufen, dass sofort ein Dialog kommt und nicht die Entwurfs-Ansicht?
Das steht sicherlich in der Dokumentation bzw. Online-Hilfe von OOO.
In Access kann man glaub ich sogar den Zugriff auf die Entwurfs-Ansicht per Passwort verschlüsseln.
Was nicht wirklich was bringt, wenn der Passwort-Schutz trivial zu knacken ist. Die alten MS-Office-Versionen waren da sehr anfällig, wie das bei den neuen aussieht, weiß ich nicht.
Ich sehe hier ein großes Problem: Du traust Deinem Kunden nicht, denn sonst würdest Du nicht so verzweifelt verhindern wollen, dass er ungehindert Deine Daten einsieht. Und Dein Kunde traut Dir auch nicht, denn sonst würde er kein Problem mit einer DB-Abfrage über das Internet haben, und ggf. entsprechend Policies lockern.
Arbeite erstmal an diesem Problem, dann kannst Du Dich, zusammen mit dem Kunden, immer noch zwischen einer rein lokalen Anwendung mit regelmäßigen Updates per CD/Stick, reiner Web-Anwendung mit stets aktuellen Daten, und einem Mittelding -- z.B. lokale Anwendung mit Auto-Update über das Netz, z.B. Browser-gestützter Anwendung mit Zugriffsprivilegien auf das lokale System (z.B. signierte Applets) -- entscheiden.
Warum brauchst Du überhaupt Dateien UND eine Datenbank? Was genau willst Du bauen?
eine Anwendung zum Katalogisieren und Verwalten von Dateien
ist nicht sonderlich spezifisch. Was für Dateien sind das? Wieso müssen sie in einen Katalog? Was soll an ihnen verwaltet werden?
Alexander
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".