lorsque j'ai essayé de créer un nouveau fichier SQL Server Compact à partir de Visual Studio -> Add New Item, je ne vois plus l'option 'Local Database' qui était en fait le moyen d'ajouter la base de données SQL Server Compact. Maintenant, si c'est vraiment abandonné par Microsoft, alors, quelle est la technologie de base de données embarquée recommandée par Microsoft pour les applications de bureau ? J'ai essayé SQLite mais le déploiement est un casse-tête pour SQLite car l'utilisateur peut ne pas avoir la bonne version de Visual C++ distribuable installée sur sa machine.
Réponses
Trop de publicités?Oui, SQL Server Compact a été déprécié (cf. les commentaires sur cet article de Connect ). Vous devriez utiliser SQL Server Express ou SQL LocalDB. Quelques postes :
http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx
http://erikej.blogspot.com/2011/01/comparison-of-sql-server-compact-4-and.html
http://erikej.blogspot.com/2012/07/the-state-and-near-future-of-sql-server.html
Comme d'autres l'ont souligné, SQL Server Compact a été déprécié. Mais à la place, vous pouvez utiliser SQLite qui n'a pas ne nécessite aucune installation sur la machine cliente.
SQLite dépend du runtime Visual C++, mais il n'est pas nécessaire de l'installer sur la machine cliente. Le site système.données.sqlite La page de téléchargement contient plusieurs paquets "statiques" qui contiennent déjà le runtime.
Tous les paquets "statiques" contiennent des binaires d'assemblage natifs ou en mode mixte. binaires liés statiquement à la version appropriée du moteur d'exécution Visual C++. En général, ces paquets sont utilisés dans les cas où les machines des clients peuvent ne pas avoir la version nécessaire du runtime Visual C n'est pas installée sur les machines du client et qu'elle ne peut pas être installée en raison de privilèges limités. privilèges.
Par exemple, sur ma machine, j'utilise Windows 8.1 x64. J'ai donc consulté la rubrique "Precompiled Statically-Linked Binaries for 64-bit Windows (.NET Framework 4.0)" et téléchargé sqlite-netFx40-static-binary-x64-2010-1.0.90.0.zip.
Ce paquetage binaire contient tous les binaires pour la version x64 de du paquetage System.Data.SQLite 1.0.90.0 (3.8.2). Le moteur d'exécution Visual C++ 2010 SP1 pour x64 est lié statiquement. Le .NET Framework 4.0 est requis.
J'ai ensuite décompressé le paquet et exécuté test.exe pour m'assurer que tout fonctionne. Aucune installation requise.
SQLite est également disponible sous la forme d'un fichier C unique (amalgame), que vous pouvez directement compiler dans votre application, si vous utilisez du C/C++ natif. Il fonctionne alors dans toutes les situations où votre application peut ouvrir un fichier. Aucune DLL supplémentaire ni installation n'est nécessaire.