mikrocontroller.net

Forum: PC-Programmierung Datenbank für Anwendung (Desktop-Datenbank) gesucht!


Autor: Erik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: arc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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:Or...

Wenn's um .NET geht, kann man auch sehr einfach XML-Dateien nehmen.

Autor: Wolfgang F. (wolfgang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter welchem OS soll dein Programm den laufen?
Für Win kannst du z.B. MS Access verwenden

lg
Wolfgang

Autor: Erik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Erik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Erik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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
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!

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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=28...

MfG

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.