Ist jetzt etwas Offtopic und vermutlich werde ich dafür geköpft.. aber ich möchte diese Info trotzdem los werden:
Beim SQL Express ist es so, das die Systemdatenbanken (z.B. "master" und "model") durchaus größer als 10GB werden dürfen. Ist z.B. dort "dokumentiert": https://akawn.com/blog/2017/05/how-to-bypass-the-sql-server-express-database-size-limit/
Und ja... das ist mega frickelig und ich würde jedem davon abraten die DB´s zu nutzen... aber andererseits hat es uns schon das ein oder andere mal temporär geholfen 😉
Ich brauche für eine WPF Desktop App eine lokale Datenbank um Strings, Zahlen, etc zu speichern.
^^ Es war nie die rede davon das eine Relationale Datenbank gesucht wird.
Es gibt für die v4 Datenbanken mit LiteDbExplorer (https://github.com/julianpaulozzi/LiteDbExplorer) ein brauchbares Tool um die Daten anzeigen und bearbeiten zu können und mit den Datenbnaken der 5er Version kann man scheinbar auch "normales" SQL als abfragesprache nutzen (https://github.com/mbdavid/LiteDB).
Ich habe mit litedb (https://www.litedb.org) als Alternative zu SQLite recht gute Erfahrungen gemacht. Gefühlt ist der Datenzugriff "einfacher" und das Ding arbeitet definitiv nicht langsamer als SQLite.
Ein Hinweis dazu: Wenn ihr oben in der Menüleiste bei "Translation" auf "Deutsch" stellt, dann bekommt ihr die PDF auch auf Deutsch 😉
Wie Abt schon sagt, würde man für solche Temetriedaten eine TimeseriesDb nutzen. Ich persönlich habe sehr gute Erfahrungen mit InfluxDb (https://www.influxdata.com) gemacht.
Wir nutzen Influx Hauptsächtlich dafür Sensordaten von IoT-Geräten zu sammeln und zu analysieren.
Das schöne daran ist, das man mit Chronograf ein Web Frontend dazu bekommt in dem man direkt die Daten auswerten und Grafisch als Diagramme und Dashboards anzeigen lassen kann.
Influx ist in Go geschrieben, hat keine Abhängigkeiten und ist für jede Plattform verfügbar.
Wenn es um die Menge der Daten in Bezug auf die Speichergröße der DB ankommt (Influx hat da auch ein sehr effizientes Speicher-Format), lohnt sich eventl. auch ein Blick auf MongoDB. in MongoDb gibt es inzwischen 3 verschiedene Komprimierungs-Einstellungen wie Daten in der DB komprimiert werden können.
Wir nutzen MongoDb z.B. dazu Protokoll-Dateien und Schnittstellen-Dateien durchsuchbar zu Archivieren oder Inhalte von "alten" Tabellen zu Archivieren.
So haben wir z.B. Erfahrungen gemacht wo wir den Inhalt einer 461MB DBase Datei in MongoDb übernommen haben und darin komprimiert für die selben Daten nur noch Speicherplatz von 18MB brauchen.
Mal eine andere Idee bzgl des Vorhabens.
Wenn es sich hier "nur" um das Bereitstellen eines Dokuwikis handelt, dann muss man keinen kompletten Apache nutzen.
PHP hat seit der Version 5.4 einen eingebauten Webserver (http://php.net/manual/de/features.commandline.webserver.php) welcher zumidnest zum Bereitstellen eines Dokuwikis taugt.
Der Aufruf würde dann so aussehen (I:\ ist in dem Fall mein USBStick ):
I:\WikiApp\php.exe -S 0.0.0.0:3002 -t I:\WikiApp\www
Dann läuft der in PHP eingebaute Webserver auf Port 3002 und das Dokuwiki liegt in meinem Fall auf dem USB Stick in I:\WikiApp\www.
Mit nssm (https://nssm.cc/) kannst du das ganze auch als Dienst einrichten:
nssm install WikiApppUSB I:\WikiApp\php.exe -S 0.0.0.0:3002 -t I:\WikiApp\www
Du kannst das ganze auch fertig unter http://fossilrepos.sourceforge.net/srv.fsl/23/home herunterladen. Allerdings solltest du es nur lokal nutzen, da das php darin echt schon sehr alt ist 😃
Hallo Leonie,
das hatten wir schon Ausführlich unter EXIF Fotometadaten auslesen behandelt 😉
... dann fehlen dir wirklich noch viele, viele Grundlagen.
Wenn du erst mit c# anfängst, dann beschäftige dich erst mal damit wie eine Programm und darin eine Klasse / *.cs Datei aufgebaut ist.
Das was ich hier rein kopiert habe, ist der Inhalt einer Methode - das funktioniert nicht wenn man das einfach nur kopiert und in irgendeine Datei "rein klatscht" 😕
Und zum Rest... mit wäre nicht bekannst das VS2017 probleme in Verbindung mit Office2013 macht.
Alternativ in der Pro version vll die Office Integrationen nicht mit installieren.
Alternativ zur Pro gibt es auch die Community, welche fast einen Identischen Funktionsumfang hat, aber bis zu einer bestimmten Limitierung (Mitarbeiter/Umsatz) kostenfrei verfügbar ist.
Alternativ dazu gibt es auch (noch) die VS 2017 Express für Windows Desktop, welche auch kommerziell komplett kostenfrei genutzt werden darf.
Ach du je... da fehlen ja noch viele, viele Grundlagen 😕
Also nein, du musst keine Winform Anwendung dafür nutzen, geht genauso gut auch in einer reinen Konsolenanwendung.
Aber ohne den Code zu sehen, kann man schlecht helfen.
Andere Frage: warum nutzt du VS2013? Aktuell ist VS2017 😉
Jup, ich habe dafür auch den MetadataExtractor verwendet.
Irgendwelche Fragen dazu? 😉
Ich hab mir die Infos in ein Dict gepackt und entnehme dann dort diese, welche ich brauche:
Dictionary<string, string> ExifInfos = new Dictionary<string, string>();
IEnumerable<MetadataExtractor.Directory> directories = ImageMetadataReader.ReadMetadata(Path.Combine(_cnf.imagePath, imageFileName));
foreach (var directory in directories)
{
foreach (var tag in directory.Tags)
{
if (!ExifInfos.ContainsKey(tag.Name))
{
ExifInfos.Add(tag.Name, tag.Description);
}
}
}