2009-06-19 8 views
10

Ich entwerfe gerade eine kleine Anwendung in .Net und in der Vergangenheit habe ich MSAccess als eigenständige Datenbank verwendet, die ich mit dem Programm liefern kann. Aber ich frage mich, ob es in der heutigen Zeit keine alternativen Lösungen gab, die so einfach in eine .Net-App zu integrieren waren, so transparent für den Benutzer und vielleicht eine bessere Leistung bei großen Datenmengen?Standalone-Datenbank

Antwort

20

Ihre Optionen sind:

SQL CE und Firebird viel schneller sind, wenn Sie Multi-Thread schreibt benötigen, ist SQLite König für Single-Threaded-Zugang oder multithreaded liest. VistaDb ist zu 100% verwaltet, so dass Sie es auf eingebetteten Geräten versenden können.

Diese DBs geben Ihnen im Allgemeinen eine bessere Zuverlässigkeit und Leistung für den Zugriff. Ich würde dringend empfehlen, keine dieser dbs über eine Netzwerkfreigabe zu verwenden.

+0

Für Firebird können Sie hier sehen: http: // www.firebirdnews.org/docs/fb2min.html –

+0

ESE ist nicht schwer mit .NET zu intagrate ... Sie können ESENT Managed Interop verwenden http://www.codeplex.com/ManagedEsent – spinodal

+0

verwalteten ese net ist immer noch ziemlich komplex im Vergleich zu den anderen eingebetteten dbs zu konsumieren, hat es einen großen Vorteil, dass es mit Windows ausgeliefert wird. –

1

erscheint SQLite Ihre Bedürfnisse anzupassen - here für mehr zu sehen.

2

Ja. Ich würde empfehlen, System.Data.SQLite, die um einen ADO.NET-Wrapper SQLite ist, eine beliebte eingebettete Datenbank in C geschrieben

1

Es gibt immer SQL Server CE... ist, aber ich habe SQLite gefunden viel einfacher zu sein, mit zu arbeiten, vor allem mit System.Data.SQLite