Hallo Leute, Ich suche für ein Programm, welches ich schreiben will, eine Datenbank. Ich muss dabei viele Daten gegliedert ordnen können (Tabellenstruktur). Klar, dass hier eine Datenbank ideal ist. Meine Problem ist nur, das DBs wie MySQL oder PostgreSQL "oversized" sind. Ich möchte dem Nutzer des Programmes nicht noch "aufbürden" erst z.B. das komplette MySQL installieren zu müssen, um meine Software nutzen zu können. Nun meine Frage: Gibt es, bzw. kennt jemand vielleicht eine DB die für einzelne Anwendungen gedacht ist? Also z.B. als DLL oder kleine EXE die man nur mit in das Programmverzeichnis kopieren muss und welche ihre Daten dann dort ablegt? Vielleicht sogar Freeware oder OpenSource? Danke für die Mühe. Gruß, Erik
Berkeley DB http://www.oracle.com/database/berkeley-db/index.html SQLite http://www.sqlite.org/ oder wenn's eine Objektorientierte sein soll: http://lnx.orientechnologies.com/cms/?Solutions:Orient_ODBMS bzw. http://lnx.orientechnologies.com/cms/?Solutions:Orient_ODBMS:Just_Edition Wenn's um .NET geht, kann man auch sehr einfach XML-Dateien nehmen.
Unter welchem OS soll dein Programm den laufen? Für Win kannst du z.B. MS Access verwenden lg Wolfgang
@Wolfgang F. Es geht zunächst mal vorrangig um Win später evtl. aber auch um Linux. Ich programmiere zur Zeit in C# (.Net bzw Mono). @arc Für meine Fälle scheint SQLite tatsächlich am Besten. XML-Dateien sind gut, könnten bei meiner Datenmasse aber evtl. langsam werden. Welche Möglichkeiten zur Nutzung von SQLite unter C# gibt es denn (Beispiel)? Ich dachte auch schon an Firebird (http://www.firebirdsql.org/). Gegenüber SQLite scheint es mir aber wieder zu "oversized"... Danke und Gruß, Erik
Erik wrote: > Welche Möglichkeiten zur Nutzung von SQLite unter C# gibt es denn > (Beispiel)? Für SQLite gibt es eínen C# Wrapper http://www.phpguru.org/static/SQLite.NET.html
Hallo Erik, von Firebird gibt es auch eine embedded Version ! Musst nur eine DLL mitliefern, kann ohne Installation auf dem Zielrechner verwendet werden, einzige Einschränkung: es kann nur eine Anwendung exclusiv auf die DB zugreifen (kein Mehrbenutzerbetrieb). MfG
@Gast
> einzige Einschränkung: es kann nur eine Anwendung exclusiv auf die DB zugreifen
Das ist nicht schlimm, da ich nur diese eine Anwendung für den Zugriff
benötige.
Gibts evtl. irgendwo ne Anleitung zur Einbindung von Firebird in C# bzw.
.NET?
@Karl heinz Buchegger
Danke, das werd ich auf jeden Fall mal versuchen...
Ich werde erst mal beides (SQLite und Firebird) probieren und nehme dann
das, was besser klappt :-)
Danke danke danke,
Erik
Mir ist da gerade noch was aufgefallen:
SQLite:
>FOREIGN KEY constraints are parsed but are not enforced
Soll das jetzt heißen, dass z.B. ein
1 | xx REFERENCES yy ON DELETE CASCADE |
xx dennoch beibehält, wenn yy gelöscht werden würde? Das führt dann ja zu Inkonsistenzen bzw. man muss sich selber um das Löschen von xx kümmern. Geht das denn bei Firebird automatisch? Wenn ja, so ist Firebird der klare Sieger!
Hallo Erik, ja Firebird löscht Foreign Keys automatisch mit, wenn es mit ON DELETE CASCADE so festgelegt wurde. Zu Firebird und C# siehe auch: http://firebirdsql.org/dotnetfirebird/ oder http://www.codeproject.com/cs/database/EmbeddedFirebird.asp oder http://www.mycsharp.de/wbb2/thread.php?threadid=28699&hilight=firebird+embedded MfG
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.