Einfache multi-user-Datenbank-Lösung
Ich geschrieben habe, ein Windows-desktop-Anwendung, die arbeitet mit Sqlite sehr schön. Es war ein single-user-app und die Datenbank liegt direkt auf dem Rechner, auf dem die app ausgeführt wird.
Jedoch die Anwendung gewachsen, und nun mehrere Benutzer sollte in der Lage sein, um die app laufen, und verbinden mit einer freigegebenen Datenbank.
Ich möchte nur in der Lage sein zu teilen, die sqlite-Datei auf einem Netzwerk-Laufwerk, aber das würde natürlich führen zu beschädigten Daten, es sei denn, jemand irgendwelche Ideen hat.
Ich denke, ich könnte das installieren der Datenbank-server, sondern eine kommerzielle MySQL-Lizenz ist nicht sinnvoll, PostgreSQL ist anders genug, dass ich würde neu schreiben müssen, eine Menge meiner Anwendung. Ich habe nicht gearbeitet mit Firebird an alle, also ich bin mir nicht sicher, ob das eine gute Lösung oder nicht.
Gibt es Sqlite-Datenbank-Server installiert werden kann, verarbeiten die eingehenden Transaktionen auf die Sqlite-Datenbank-Datei?
Wenn ich das verlangen, den client downloaden und installieren Sie MySQL auf Ihrer eigenen, benötige ich eine kommerzielle Lizenz?
Anregungen oder Richtung wäre toll, danke.
Nur auf der Basis der Vergangenheit Experimente mit Postgresql. Aber unter einem anderen Aussehen würde wahrscheinlich nicht Schaden, es ist schon ein paar Jahre.
Ein update habe ich geben Postgresql, die anderen versuchen, und ich bin eigentlich mit viel Erfolg.
Für die Zukunft, ich weiß nicht, ob es eine tatsächliche angegebenen Projekt-Ziel, aber SQLite neigt zu verfolgen, PostgreSQL syntax und unterhält ziemlich anständig SQL-Kompatibilität. Ich habe festgestellt, dass SQLite ist eine ausgezeichnete "starter" DB für die Projekte, und das kann ich sehr leicht skalieren, PostgreSQL, wenn nötig. Es ist in der Regel leichter zu gehen von SQLite zu PostgreSQL als MySQL oder [insert andere DB hier].
InformationsquelleAutor Ben Mc | 2009-12-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es sqlite-Server, die es möglich machen, die Verwendung von sqlite in einer multi-user Umgebung. Lesen Sie hier: http://www.sqlite.org/cvstrac/wiki?p=SqliteNetwork . Ich weiß nicht, wie diese Lösungen führen und zu skalieren.
InformationsquelleAutor tuinstoel
Können Sie in der Lage sein, die Verwendung der Sqlite-Datei auf einem freigegebenen Netzlaufwerk, wie Sie beschrieben, abhängig von der zugrunde liegenden Dateisystem:
http://www.sqlite.org/faq.html#q5
InformationsquelleAutor James Kolpack
Was SQL Server Express, seine frei, und sollten aufhören, Sie umschreiben die meisten Ihr code,
InformationsquelleAutor Rippo
Ich denke, dass Firebird kann eine sehr gute Wahl
Ich weiß nicht, Ihr problem mit der Berechtigung sein, aber wenn Sie einige gute GUI-tools, die Sie verwenden können http://www.upscene.com oder http://www.ibexpert.com (beide haben free version)
InformationsquelleAutor Hugues Van Landeghem
Ich weiß nicht, warum Sie davon ausgehen, dass die Daten-Datei beschädigt werden, wenn man es auf einem Netzwerk-Laufwerk und lassen Sie mehrere Instanzen der app Zugriff zur gleichen Zeit. Wenn Sie vor allem zu Lesen, Sie sollten in Ordnung sein. Wenn man viel schreibt, werden Sie wahrscheinlich leiden unter einem Leistungsabfall, da nur eine Instanz können gleichzeitig schreiben. (Siehe http://www.sqlite.org/faq.html)
Wenn man viel schreibt, werden Sie wahrscheinlich benötigen, einen standalone-server-installation - haben Sie als MS SQL Server Express ? Sollte leicht sein und einfach zu bekommen und läuft.
InformationsquelleAutor driis
Zu spät ich weiß, aber niemand in diesen Tagen haben sollte, eine Notwendigkeit, eine Anwendung zu schreiben, ohne einen Rahmen, bietet Datenbank-Abstraktion.
Ich persönlich verwende Web2py ist ein python-basiertes Web-Framework. Standardmäßig verwendet SQLite, die ist toll für single-user-Anwendungen auf dem lokalen desktop oder kleine bis mittlere Anwendungen im lokalen Netzwerk, die sind vor allem lese-Operationen. Allerdings, wenn ich beschlossen, zu erhöhen, den Umfang der app-Nutzung, würde ich einfach ändern Sie die Verbindungszeichenfolge, die in der Datenbank modale Verwendung einer anderen Datenbank. Web2py oder andere Frameworks, die Wert verwenden, wäre einfach umschreiben der SQL-Anweisungen, um den neuen Anforderungen anpassen.
InformationsquelleAutor PrestonDocks
verwenden Sie diesen code auf Ihrem Verbindungs-string nach, dass mehrere Benutzer können einfügen,löschen,wählen Sie e aus.t.c. in der Datenbank ohne Problem.
SQLiteConnection con = new SQLiteConnection("Data Source=D:\yourdatabase.db;Anzahl Änderungen=off;Journal Mode=off;Pooling=true;Cache-Size=10000;Page Size=4096;Synchron=off");
InformationsquelleAutor Ayhan
Nicht.
Den Wert einer MySQL-kommerzielle Lizenz, die es erlaubt, Sie zu vertreiben standard-MySQL-oder eine modifizierte MySQL in binärer form ohne die oblihation zu verteilen source-code. Es gibt Ihnen auch Zugang zu Unterstützung.
Jedoch, wenn der Nutzer erhält von MySQL selbst von Oracle, die GPL stellen keine Verpflichtungen auf Sie, um Ihnen einen MySQL-source-code. Sie können es von Oracle. Ja, Oracle ist verpflichtet, es so lange, wie Sie zu verteilen, unter der GPL.
InformationsquelleAutor Stephen C