Anwendungsparameter in Datenbank speichern?



  • Ich entwickle hier eine Anwendung, die unter Linux und Windows läuft und auf eine Datenbank (postgresql) zurückgreift.
    Jetzt bin ich an dem Punkt, wo ich die Anwendung gerne einfach parametrieren möchte, z.B. Pfade einstellen oder Timeouts verändern.

    Wäre es jetzt nicht geschickt, wenn ich dafür einfach eine separate Tabelle erstelle, da ich ja eh die Datenbank benötige? Diese Tabelle könnte ich dann nach Programmstart auslesen und verwerten.

    Ist das ein gängiger Ansatz oder würdet ihr doch auf XML-Dateien o.ä. zurückgreifen?



  • Kann man schon machen... Wenn man die Anwendung dann von einem anderen Rechner starten würde, hätte man auch automatisch dieselben Einstellungen.
    Musst nur bedenken, dass es evtl. etwas langsamer ist. So ein select * from settings wird wahrscheinlich auch nicht soo lang brauchen, aber wenn du immer wieder mal einzelne Werte abfragen willst, könnte es deutlich langsamer sein.



  • NewApproach schrieb:

    Wäre es jetzt nicht geschickt, wenn ich dafür einfach eine separate Tabelle erstelle, da ich ja eh die Datenbank benötige? Diese Tabelle könnte ich dann nach Programmstart auslesen und verwerten.

    Und wo stellst du dann die Parameter zum Zugriff aufs Datenbanksystem ein?

    Ist das ein gängiger Ansatz oder würdet ihr doch auf XML-Dateien o.ä. zurückgreifen?

    Nein. Ich empfehle Konfigurationsdateien.

    In der Regel macht man das dann mit einkompiliertem Suchpfad und der Option mittels Commandlineflag einen andere Pfad anzugeben.



  • Welchen Compiler benutzt du?
    Entweder eine kleine Datei mit veränderbaren Einstellungen oder wenn mit C# gearbeitet wird eleganter Properties.Settings verwenden.



  • Ich hab das jetzt so gelöst:

    Alle Parameter die der Anwendung zuzuordnen sind und z.B. nur für Entwickler interessant sind, landen in einer lokalen Konfigurationsdatei.

    Alle Parameter, die vom Programm verwendet werden, die der Benutzer aber (über eine Webseite) einstellen kann, werden in der Datenbank gespeichert.

    Das gefällt mir ganz gut.


Anmelden zum Antworten