Question

Je construirai un ensemble d'applications. Une de ces applications est une application sans assistance (écrite en VB6) qui écrit les données qu’elle reçoit de diverses sources dans une base de données locale. Toutes les autres applications (qui seront écrites dans VS 2008 / c # 3.0) liront ces données pour l’essentiel pour des raisons de reporting.

Je ne veux pas de SQL Server / MySql / Sybase ni même de ses éditions express, car la distribution pose problème (par exemple, nécessite une installation séparée, etc.). Je recherche une base de données locale qui contient des pilotes pour VB6 (donc probablement OLEDB ou ODBC si je dois me contenter de cela) et ADO.NET. Il serait également intéressant que la base de données prenne en charge les ORM, tels que NHibernate ou au moins les mappeurs 1-à-1, tels que Subsonic, mais ce n'est pas un facteur décisif. Mais mon exigence principale est que la base de données soit massivement solide, pour que je ne perde pas de temps à le manipuler, à récupérer des données perdues, etc.

J'ai de l'expérience avec MS Access depuis le début de la journée et je n'ai pas trop de bons souvenirs (et ce n'était pas mal non plus). J'ai entendu parler de SQLite, de SQL Server Compact Edition, de VistaDB, etc., mais je n'ai aucune expérience de ces logiciels et je ne connais personne qui l'ait réellement utilisé.

Qu'est-ce qui correspond le mieux à ma situation?

Était-ce utile?

La solution

SQLite pourrait tout à fait convenir. Assurez-vous de consulter tous les wrappers disponibles .

Autres conseils

Avez-vous pensé à FireBird SQL ?

Je recommanderais SQLite à moins que la base de données. J'ai l'expérience de l'utiliser et j'étais dans la même situation que vous. Le projet System.Data.Sqlite est vraiment sympa et supporte ADO.net 2.0 et toute cette fantaisie. Ils travaillent actuellement à obtenir le support complet de Linq sur le wrapper. Je le recommande pour les raisons suivantes.

  1. Faible encombrement - Le moteur ne dépasse pas 700 Ko.
  2. Évolutif - Il peut gérer des bases de données assez volumineuses. Ordre des Go. Tout ce qui est plus important nécessitera probablement un moteur de base de données sur serveur doté de BEAUCOUP de RAM.
  3. Durable - Leur suite de tests couvre la plupart du code et s’est avérée efficace pour de nombreuses applications commerciales telles que l’iPhone
  4. Rapide - Il y a très peu de frais généraux avec ce moteur.
  5. Actuel - Le projet .NET est très à jour avec la dernière technologie .NET 3.5 proposée par Microsoft.
  6. Portable - Peut l’utiliser sur des systèmes embarqués ou sur des ordinateurs de bureau.

Vérifiez le projet System.Data.Sqlite ici http://sqlite.phxsoftware.com/

Découvrez le serveur de base de données Advantage. Il offre une option d'installation silencieuse, un très faible encombrement et est facile à entretenir. Il a beaucoup de support client: ODBC, OLE DB, fournisseur de données .net, jdbc, dbi, php, etc. Moteur local libre de droits (juste une dll qui s'exécute en cours avec votre application), client / serveur peu coûteux, SQL et accès direct aux tables de navigation.

The DevZone

SQL Server Compact Edition est in-proc, donc il n'y a rien de séparé à installer.

Je n'ai pas beaucoup d'expérience avec SQLite , mais je l'ai un peu utilisé. Il est utilisé dans une LOT de situations et d'applications. Il existe vraiment une centaine de petites bases de données, mais je recommanderais au moins SQLite comme point de départ.

Je peux témoigner de VistaDB. Une autre base de données à consulter est la suivante: Blackfish

.

SQLite a un impact très faible et est TRÈS bien écrit. Il est parfait pour une base de données client locale

SQLite comme d'autres l'ont mentionné avec le fournisseur ADO.net de SQLite.net , pour un accès facile .NET à cela.

J'ai utilisé ScimoreDB et écrit mon appender pour log4net pour mon application. Ont eu des résultats mitigés et ont passé beaucoup de temps à essayer de passer à travers la documentation pour faire fonctionner les choses selon les besoins.

Je me dirige vers SqlLite et un lien existait autour de l'utilisation de SubSonic avec SqlLite.

Il est possible d’utiliser SQL Server en tant que base de données locale se connectant directement à un fichier de base de données. Mais cela nécessite que SQL Server Express soit installé.

Examinez la configuration par défaut d’ASP.Net avec un fournisseur d’appartenance. Il créera une base de données locale basée sur des fichiers pour le site Web.

Si vous utilisez cette approche, vous pourrez peut-être utiliser tous vos outils familiers lors du développement.

EDIT:
Je viens de remarquer la balise intégrée. Si vous souhaitez exécuter l'application sur des périphériques Windows CE, vous pouvez opter pour SQL. Server Compact . Il ne prend pas en charge les procédures stockées autant que je sache, mais il prend en charge la plupart des autres fonctionnalités de SQL Server.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top