177 votes

Ce qui est un bon choix de base de données pour une petite application .NET ?

Je développe une petite application avec c# dans .NET et je veux avoir une petite base de données de poids léger qui n’utilise pas beaucoup de ressources.

Pourriez vous veuillez énumérer quelques-uns des logiciels de base de données léger mieux connu.

192voto

Adam Houldsworth Points 38632

17/03/2014 je suis encore à la réception d'upvotes pour cela, être conscient de la date à laquelle il a été à l'origine de réponse. Bien que les trois principaux éléments énumérés sont encore tout à fait viable, la liste ont tendance à devenir obsolètes. Il existe d'autres technologies de base de données disponibles qui ne sont pas répertoriés.

Vous avez un couple de immédiatement reconnaissable et gratuit options:

SQL Server Compact de téléchargement est livré avec la ADO.NET le prestataire que vous aurez besoin de faire référence dans le code. L'SQLite télécharger peut-être pas voici un lien:

http://sqlite.phxsoftware.com/

Tous trois utilisent SQL, bien que probablement avec quelques limitations / bizarreries. Management Studio travaille avec Compact et LocalDB, alors qu'avec SQLite, vous aurez besoin d'une autre de l'INTERFACE utilisateur de l'outil comme SQLite Administrator:

http://sqliteadmin.orbmu2k.de/

Il y a NoSQL alternatives, telles que:

Personnellement, je voudrais éviter de l'aide de MS Access dans le visage des autres options libres. Vous ne pouvez pas vous tromper avec LocalDB, Compact, ou SQLite. Ils sont adorables petites bases de données qui fonctionnent relativement rapidement en peu de RAM préférence personnelle pour les aspects religieux à propos de goût un produit Microsoft, je suppose :-)

Je Sterling pour Windows Phone programmation est conçu pour utiliser le Stockage Isolé. J'ai seulement lu des articles sur RavenDb, mais je peux vous dire que c'est un JSON en fonction de stockage de document-cadre.

Ne pas confondre la situation (aller avec SQLite, SQL Server Express LocalDB, ou SQL Server Compact Edition), mais il y a d'autres embarqués et des bases de données locales, dont certaines sont relationnelles, d'autres sont orientées objet:

Pas tous ces services sont gratuits. SQL / LINQ / proc soutien diffère à travers eux tous. Cette liste est juste pour la curiosité.

Il est maintenant également Karvonite, cependant le code de la galerie de liaison est rompue. Quand il vit encore, je vais être à la recherche dans ce un pour de développement WP7.

57voto

Mike Webb Points 3654

Je le recommande SQLite. Nous l'utilisons pour presque toutes les applications nous développer à l'endroit où je travaille.

Il est petit et compact. Il a besoin d'une DLL dans le répertoire app, mais vous n'avez pas besoin d'installer un autre logiciel comme Access ou SQL Server. En outre, comme indiqué par danielkza ci-dessous, "SQLite est du domaine public, de sorte que vous n'avez pas à vous inquiéter au sujet de l'octroi de licences." Qui peut vraiment faire une grande différence.

Vous pouvez utiliser le Système.Les données.SQLite ou csharp-sqlite pour accéder à une application en C# en utilisant les mêmes méthodes que celle de SQL ou OleDB.

Vous aurez également besoin d'une application pour modifier/gérer la base de données. Le meilleur à mon avis est SQLite Studio. Ici sont un couple de plus:
SQLite Admin
SQLite 2009 Pro (en bas de la page)
Mise à jour - 7/25/11 - Plus SQLite apps (question ici)

Voici plus d'informations sur SQLite:
SQLite sur Wikipédia
Les entreprises que l'utilisation de SQLite

Fonctions Personnalisées: En plus, si vous êtes à la recherche dans le SQLite Fonctions de Base et de ne pas voir celle que vous le souhaitez, vous pouvez créer vos propres fonctions. Voici quelques exemples:
De SORTE
Anoter exemple

10voto

Firebird embedded peut être un bon choix

La version embarquée est une étonnante variation du serveur. Il s’agit d’un serveur Firebird entièrement comporté emballé dans quelques fichiers. Il est très facile à déployer, puisqu’il n’y a pas besoin d’installer le serveur.

Il y a certains pilotes très bon point net

8voto

Merlin Points 7678

SQL Server Compact si vous souhaitez utiliser la langue officielle de microsoft solution. Cela a l'avantage de pouvoir utiliser la réplication avec SQL server si vous avez besoin de ce genre de chose.

SQLite si vous voulez quelque chose de très simple et gratuit. C'est ce qu'android utilise pour cela des bases de données internes de sorte qu'il est très bien pris en charge et il ya de très bonnes .NET fixations disponibles.

Un avantage important de SQLite est qu'il est multi-plateforme. Donc si vous voulez le port de votre application Mono.NET ensuite, vous n'auriez pas de modifications à apporter à la base de données de mise en œuvre.

Je n'aime pas MS Access pour cette solution, mais beaucoup de gens l'ont intégré dans leur réponse. Il est limité par le format propriétaire de la plateforme et de la dépendance. Il a ses avantages. Vous pouvez manipuler facilement les données si vous avez une copie de MS Access, vous pouvez créer des requêtes sous forme de graphiques et de créer des macros. Vous pouvez facilement l'intégrer avec le reste de la suite MS Office.

De tous ces SQLite serait ma recommandation parce qu'il est si compact, bien documenté et soutenu par une armée grandissante de ses collègues développeurs indépendamment de la plateforme.

MODIFIER

J'ai réalisé qu'il y a une autre option que tout le monde ici, j'ai oublié de mentionner

Tant que vous n'avez pas besoin de tables relationnelles, vous pourriez utiliser un fichier CSV lire comme un ensemble de données via ADO.NET. (Plus d'un lulz suggestion qu'autre chose mais serait approprié, dans certains cas, et ne nécessite pas de bibliothèques supplémentaires pour un MS de déploiement.

7voto

nWorx Points 1650

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X