Nous avons une base de code "large" déjà développée en utilisant SQLite et NHibernate en utilisant .NET 2 pour nos clients. En utilisant SQLite, nous pouvons communiquer avec la base de données (même plusieurs clients) à travers un partage de fichiers Windows. La plupart du temps, cela est parfaitement suffisant pour ce que nous devons faire. Au cours des derniers mois, nous avons dû intégrer notre application à une application beaucoup plus ancienne, très spécialisée, et fonctionnant sur une version personnalisée de Windows - avec beaucoup de choses supprimées. Non .NET, et nous ne sommes pas "autorisés" à utiliser des partages de fichiers. Maintenant, nous avons un problème.Quelle base de données pour local et client/serveur?
Nous recherchons un système de base de données intégré qui peut être déposé pour SQLite, en utilisant NHibernate, qui pourrait également être accessible en utilisant un client/serveur (le code résultant doit être écrit en C).
En bref:
- Utilisation normale pourrait être avec NHibernate et un fichier local (peut être exécuté en tant que service w/client/protocole serveur)
- Utilisation supplémentaire serait avec une bibliothèque C dans un mode client/serveur
Dans de nombreux cas, nous allons vouloir faire les deux.
SQLite avec une bibliothèque wrapper était notre première réaction, en utilisant SQLitening par exemple. Firebird peut être une option supplémentaire. Certains ordinateurs sur lesquels nous installons peuvent déjà avoir SQL Server en cours d'exécution (je ne suis pas sûr de la prise en charge C pour SQL Server).
Autres (open source ou commercial)?
CodeBase ne semble pas soutenir NHibernate, mais il a certainement le C/C++ compatibilité très bien. – Anthony