Comment puis-je déployer Microsoft SQL Server Compact 4.0 ?
SQL Server Compact Edition (actuellement à la version 4.0) est :
une base de données gratuite et intégrée que les développeurs de logiciels peuvent utiliser pour créer des applications de bureau Windows. Elle a un faible encombrement et prend en charge le déploiement privé de ses binaires dans le dossier de l'application.
Mais comment le déployer concrètement ?
- Microsoft dit qu'il peut être déployé dans le dossier de l'application ( bon ) et supporte le déploiement de xcopy .
- Microsoft dit aussi qu'il ne peut pas être déployé dans le dossier de l'application ( mauvais ), et ne supporte pas le déploiement de xcopy .
- certaines personnes ont exemples d'utilisation d'un simple déploiement de xcopy mais ils n'entrent pas dans les détails nécessaires pour compléter le déploiement.
Le problème est que vous ne pouvez pas utiliser le fournisseur ADO OLEdb à moins qu'il ne soit enregistré. L'enregistrement d'un fournisseur OLEdb doit être effectué en tant qu'administrateur. Cela signifie que l'édition Compact de SQL Server échouera avec les utilisateurs qui ne sont pas des administrateurs.
SQL Server Compact 4.0 est livré avec un redist_enu.txt
archivo:
Les fichiers .exe répertoriés installent chacun les composants qu'ils contiennent à un emplacement spécifique de l'ordinateur de destination. Cela permet de garantir la facilité d'entretien et l'assistance technique. Les fichiers .dll inclus dans ces fichiers .exe sont également disponibles séparément dans ce redist.txt. Cependant, la distribution de ces fichiers .dll séparés peut entraîner des problèmes de fonctionnement. Pour plus de détails, veuillez consulter http://go.microsoft.com/fwlink/?LinkId=94589
Détection du déploiement privé via BreadCrumb : Le déploiement privé de la pile native uniquement et le chargement explicite de SQL Server Compact Assembly via Assembly.LoadFrom(), le fichier .local ou l'utilisation de stratégies de redirection DLL/COM ne sont pas pris en charge et peuvent entraîner des problèmes de fonctionnement. Pour plus d'informations, voir http://support.microsoft.com/kb/835322 y http://msdn2.microsoft.com/en-us/library/aa375142.aspx
Microsoft SQL Server Compact 4.0
SSCERuntime_x86-ENU.exe
SSCERuntime_x86-DEU.exe
SSCERuntime_x86-FRA.exe
SSCERuntime_x86-JPN.exe
SSCERuntime_x86-RUS.exe
SSCERuntime_x86-ESN.exe
SSCERuntime_x86-ITA.exe
SSCERuntime_x86-KOR.exe
SSCERuntime_x86-CHT.exe
SSCERuntime_x86-CHS.exe
SSCERuntime_x64-ENU.exe
SSCERuntime_x64-DEU.exe
SSCERuntime_x64-FRA.exe
SSCERuntime_x64-JPN.exe
SSCERuntime_x64-RUS.exe
SSCERuntime_x64-ESN.exe
SSCERuntime_x64-ITA.exe
SSCERuntime_x64-KOR.exe
SSCERuntime_x64-CHT.exe
SSCERuntime_x64-CHS.exe
sqlcese40.dll
sqlceqp40.dll
sqlceoledb40.dll
sqlceca40.dll
sqlceme40.dll
sqlcecompact40.dll
sqlceer40en.dll
sqlceer40cn.dll/sqlceer40zh-CHS.dll
sqlceer40de.dll
sqlceer40es.dll
sqlceer40fr.dll
sqlceer40it.dll
sqlceer40ja.dll
sqlceer40ko.dll
sqlceer40tw.dll/sqlceer40zh-CHT.dll
sqlceer40ru.dll
System.Data.SqlServerCe.dll
System.Data.SqlServerCe.Entity.dll
mais il ne donne aucune information sur la façon de redistribuer SQL Server Compact 4.0.
L'épellation aléatoire des sans-papiers Program Files
j'ai trouvé 7 dlls :
C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\
sqlceoledb40.dll
sqlceqp40.dll
sqlcese40.dll
sqlceca40.dll
sqlcecompact40.dll
sqlceer40EN.dll
sqlceme40.dll
Note : Il y a aussi des dossiers enfants avec plus de dlls.
J'ai essayé de copier ces 7 dll dans un dossier, et j'ai essayé d'ouvrir un fichier de type Connexion ADO en utilisant la chaîne de connexion :
Provider=Microsoft.SQLSERVER.CE.OLEDB.4.0;Data Source="store.sdf"
mais il échoue avec 0x80004005 Unspecified error
J'ai essayé de frober le widget, mais il a frobbé le frobber.
0 votes
Je ne l'ai jamais fait moi-même, mais la documentation n'est-elle pas claire ? msdn.microsoft.com/fr/us/library/aa983326(v=vs.110).aspx
1 votes
Voir mon billet de blog ici : erikej.blogspot.com/2011/02/ Utilisation de SQL Server Compact 4.0 avec Desktop Private Deployment et un projet Setup (MSI) (partie 2)
0 votes
Vous faites référence
app.config
Je suis en train d'utiliser une application native avec un déploiement xcopy.0 votes
@Pondlife La page Comment faire : Déployer une base de données SQL Server Compact 4.0 avec une application est parfaitement clair. Malheureusement, cela ne fonctionne pas non plus. Ils supposent une application .NET et ignorent l'enregistrement requis de la dll COM OLEDB.
sqlceoledb40.dll
.0 votes
Documentez ceci poste en le soutenant, faites-le maintenant avant que la documentation soit disparu pour toujours !