Laden...

embedded DB--- kein SQlite

Erstellt von Nexmo vor 2 Jahren Letzter Beitrag vor 2 Jahren 414 Views
N
Nexmo Themenstarter:in
36 Beiträge seit 2021
vor 2 Jahren
embedded DB--- kein SQlite

Verwendetes Datenbanksystem: aktuell SQlite

Hallo,

ich verzweifle gerade etwas.

ich benötige eine embedded DB welche FK und PK unterstützt und sich automatisch löschen bzw. updaten lässt.
also autoupdate und autodelete der FK-abhängigen Tabelle bei Änderungen.

SQlite funktioniert nur mit triggern. diese sollen aber nicht verwendet werden. Leider unterstützt SQlite keine FK in diesem Sinne.

Zitat:" SQLite unterstützt standartmäßig keine FOREIGN KEYS (Fremdschlüssel). Man kann diese zwar bei erstellen von Tabellen definieren, jedoch werden diese, wie gesagt, ignoriert."

Quelle: SQLite Foreign Keys erzwingen – GlossarWiki

Kann mir hier jemand helfen??

Die DB soll in ein C# WPF programm eingebettet werden, also teil von dem Programm sein und nicht zusätzlich installiert werden müssen, wie MySQL oder SQL-Server, ect.

16.828 Beiträge seit 2008
vor 2 Jahren

Es gibt genau zwei weit verbreitete, aktuelle Embedded SQL Produkte:

  • Sqlite: Standalone mit eingeschränkten SQL Features
  • LocalDB: benötigt eine Client Installation

Vielleicht gibts noch irgendwelche hidden projects, das mag sein.
Aber ansonsten: leider gibts so ein Einhorn nicht.

4.938 Beiträge seit 2008
vor 2 Jahren

Es gibt auch noch Firebird (Datenbank) (u.a. als embedded): Firebird
Man benötigt dafür dann den zugehörigen .NET Provider.

Sowohl PK als auch FK sollte unterstützt sein: CREATE TABLE als auch Keys and unique indices

Edit: Als Schnelleinstieg: Embedded Firebird: Full-Featured Embedded Database with 2 MB Runtime (auch wenn die dort verwendeten Versionen veraltet sind)

N
Nexmo Themenstarter:in
36 Beiträge seit 2021
vor 2 Jahren

Also habe ich tatsächlich in C# keine andere Möglichkeit als mit SQLite zu arbeiten.

was ist denn dieser .net Provider?

16.828 Beiträge seit 2008
vor 2 Jahren

Das hat mit C# oder .NET nichts zutun, das geht Dir mit anderen Runtimes auch so.

N
Nexmo Themenstarter:in
36 Beiträge seit 2021
vor 2 Jahren

hm, ok..
also laut meinem Chef soll es da wohl etwas geben. nur er sagt mir nicht was das für eine ist.
er meinte nur, ich soll da mal suchen, mit welcher embedded DB das möglich ist.

16.828 Beiträge seit 2008
vor 2 Jahren

Toller Chef 😁 Netter Time-waste.

Kommt wahrscheinlich am Ende was raus, das uralt ist oder gar keine Datenbank ist.
Würde mich nicht wundern.

4.938 Beiträge seit 2008
vor 2 Jahren

Also habe ich tatsächlich in C# keine andere Möglichkeit als mit SQLite zu arbeiten.

@Nexmo: Was hast du denn an meiner Antwort nicht verstanden?

was ist denn dieser .net Provider?

Das ist der Datenbank-Treiber für .NET (man braucht dann nur die zugehörigen DLLs und die Datenbankdatei in das Release-Verzeichnis kopieren, so daß du dieses en-block weitergeben kannst - ohne Installation beim Anwender).

Auch für SQLite bräuchtest du den passenden .NET Provider.

J
61 Beiträge seit 2020
vor 2 Jahren

Ich bin zwar nicht in der Datenbankentwicklung, aber bei uns wird VistaDB Database Engine verwendet.