Embedded-Datenbank für .net, die ein Netzwerk ablaufen kann

stimmen
30

Ich war (und bin immer noch) für eine eingebettete Datenbank suchen in einer .net (c #) Anwendung verwendet werden. Der Nachteil: Die Anwendung (oder zumindest die Datenbank) auf einem Netzlaufwerk gespeichert, sondern nur durch einen Benutzer zu einem Zeitpunkt verwendet.

Nun, meine erste Idee war , SQL Server Compact Edition . Das ist wirklich schön integreated, aber es kann kein Netzwerk ablaufen.

Firebird scheint das gleiche Problem zu haben, aber die .NET - Integration scheint nicht wirklich zu seine erste Klasse und ist weitgehend undokumentiert.

Blackfish SQL sieht interessant aus , aber es gibt keine Testversion der .NET - Version. Der Preis ist auch OK.

Alle anderen Vorschläge von etwas , das gut mit .net funktioniert und wegläuft ein Netzwerk ohne die Notwendigkeit tatsächlich eine Server - Software zu installieren?

Veröffentlicht am 03/08/2008 um 15:41
quelle vom benutzer
In anderen Sprachen...                            


10 antworten

stimmen
21

SQLite kam mir in den Sinn , während die Frage zu lesen, und ich bin mir ziemlich sicher , dass es möglich ist , es von einem Netzlaufwerk zuzugreifen , wenn Sie sich auf die Einschränkung von 1 Benutzer zur gleichen Zeit halten.

SQLite auf .NET - Steh auf und läuft in 3 Minuten

Beantwortet am 03/08/2008 um 15:48
quelle vom benutzer

stimmen
10

Ich würde Advantage Database Server (www.advantagedatabase.com) empfehlen. Es ist eine reife eingebettete DB mit großer Unterstützung und zugänglich von vielen Entwicklungssprachen zusätzlich zu .NET. Die „lokale“ Version ist kostenlos, läuft in Ihrer Anwendung in Form einer DLL, erfordert keine Installation auf dem Server / Netzwerk zu teilen und unterstützt alle wichtigen DB Funktionen. Sie können speichern die DB und / oder Anwendungsdateien im Netzwerk alle; es kümmert sich nicht darum, wo die Daten.

Disclaimer: Ich bin ein Ingenieur in der ADS-R & D-Gruppe. Ich verspreche, es rockt :)

Beantwortet am 21/10/2008 um 20:20
quelle vom benutzer

stimmen
8

Sie können den Feuervogel embeded verwenden, es ist nur eine DLL, die Sie mit Ihnen App versenden müssen.

Über die Dinge nicht dokumentiert ist, das ist nicht wirklich wahr, die Firebird .NET-Treiber die ADO-Schnittstellen implementiert, so dass, wenn Sie ADO kennen, können Sie mit Firebird arbeiten, im Grunde statt SQLConnection- werden Sie FBConnection verwenden und so weiter, aber mein Rat ist, ein schreiben Datenzugriffsschicht und die Verwendung nur Schnittstellen auf Ihren Code, so etwas wie folgt aus:

using FirebirdSql.Data.FirebirdClient;

public static IDbConnection MyConnection()
{
    FbConnection cn = new FbConnection("...");
    return cn;
}

Dieses Beispiel ist sehr einfach, aber Sie werden nicht viel mehr als das brauchen.

Wir verwenden für unsere Feuervogel alle Anwendungen ohne Probleme, sollten Sie zumindest versuchen, es aus.

Beantwortet am 09/08/2008 um 13:51
quelle vom benutzer

stimmen
8

Es klingt wie ADO / Zugang für Ihre Bedürfnisse perfekt. Es ist in den MS-Stack gebacken, gut gewürzt, und Multi-User.

Sie können programmatisch einen DB wie so erstellen:

Dim catalog as New ADOX.Catalog
Catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\server\path\to\db.mdb")

Anschließend können Sie Standard ADO.NET Methoden verwenden, um mit der Datenbank zu interagieren.

Beantwortet am 03/08/2008 um 16:48
quelle vom benutzer

stimmen
7

Ein wenig spät , um die Post hier .. Und VistaDB bereits erwähnt, aber ich wollte darauf hinweisen , dass VistaDB 100% gelungen ist (seit Ihrem Beitrag wurde mit dem Stichwort .net). Es kann aus einem gemeinsam genutzten Netzlaufwerk ausführen, und ist 1MB xcopy Einsatz.

Da Sie SQL CE erwähnen, unterstützen wir auch TSQL Syntax und Datentypen (in der Tat mehr als SQL CE) und aktualisierbar Ansichten, TSQL Procs und andere Dinge in SQL CE fehlen.

Beantwortet am 22/04/2009 um 22:01
quelle vom benutzer

stimmen
6

Schauen Sie sich VistaDB . Sie haben ein sehr gutes Produkt, die Server - Version (3.4) in der Betaphase und ist ganz in der Nähe zu veröffentlichen.

Beantwortet am 03/08/2008 um 15:57
quelle vom benutzer

stimmen
4

Ich bin verwirrt.

Sie sind für eine eingebettete Datenbank zu fragen - wo die Datenbank selbst auf dem Server gespeichert ist. dass übersetzt die Datendatei auf einem Netzwerkfreigabe zu speichern. Sie sagen dann, dass SQL Compact Edition wird nicht funktionieren ... außer, dass, wenn man in diesem Dokument aussieht:

Word - Dokument: Die
Wahl zwischen SQL Server 2005 Compact Edition und SQL Server 2005 Express Edition

Auf Seite 8 Sie haben ein schönes großen grünen Häkchen neben „Datendateispeicher auf einer Netzwerkfreigabe“.

So scheint es mir, dass Ihr erster Gedanke war die richtige.

Beantwortet am 22/04/2009 um 22:18
quelle vom benutzer

stimmen
4

Warum nicht verwenden SQL Server 2005 Express Edition ?

Es hängt wirklich davon ab, was Sie mit „embedded“ - aber Sie können SQLServer2005E mit Ihren Anwendungen verteilen und der Benutzer hat nie zu wissen, dass es da ist.

Einbetten von SQL Server Express in Anwendungen

Einbetten von SQL Server Express in benutzerdefinierten Anwendungen

Beantwortet am 03/08/2008 um 16:34
quelle vom benutzer

stimmen
2

Haben auch Sie eine OODB in Betracht gezogen? Aus der verschiedenen öffentlich zugänglichen Quellen Alternativen Ich empfehle db4o (sorry für die Eigenwerbung :)) , die entweder eingebettete oder im Client / Server - Modus ausgeführt werden kann.

Beste

Adriano

Beantwortet am 16/05/2010 um 16:18
quelle vom benutzer

stimmen
2

Es gibt auch Valentina . Ich cam e über dieses Produkt , wenn ich auf einige echte Basic - Projekt arbeiten. Die RB - Version ist sehr gut.

Beantwortet am 10/08/2008 um 03:55
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more