Как развернуть Microsoft SQL Server Compact 4.0?
SQL Server Compact Edition (в настоящее время версии 4.0):
бесплатную встроенную базу данных, которую разработчики программного обеспечения могут использовать для создания настольных приложений Windows. Он имеет небольшую площадь и поддерживает частное развертывание своих двоичных файлов в папке приложения.
Но как вы его развертываете?
- Microsoft заявляет, что может быть развернута в папке приложения (хорошо) и поддерживает развертывание xcopy.
- Microsoft также заявляет, что не может быть развернута в папке приложения (плохая) и не поддерживает развертывание xcopy.
- некоторые люди имеют примеры этого, используя простое развертывание xcopy, но они не входят в детали, необходимые для завершения развертывания
Проблема заключается в том, что вы не можете использовать поставщик ADO OLEdb, если он не зарегистрирован. Регистрация поставщика OLEdb должна выполняться как администратор. Это означает, что версия SQL Server Compact не будет работать с пользователями, которые не являются администраторами.
SQL Server Compact 4.0 поставляется с файлом redist_enu.txt
:
В перечисленных файлах .exe каждый из них устанавливает свои закрытые компоненты в определенное место на конечном компьютере. Это помогает обеспечить исправность и техническую поддержку. Файлы .dll, заключенные в эти .exe файлы, также доступны отдельно в этом файле redist.txt. Однако распределение этих отдельных DLL может привести к проблемам работоспособности. Для получения дополнительной информации см. http://go.microsoft.com/fwlink/?LinkId=94589
Частное обнаружение развертывания через BreadCrumb: частное развертывание только собственного стека и явная загрузка сборки SQL Server Compact через Assembly.LoadFrom(),.local файл или использование стратегий перенаправления DLL/COM не поддерживаются и могут привести к в вопросах удобства обслуживания. Для получения дополнительной информации см. http://support.microsoft.com/kb/835322 и http://msdn2.microsoft.com/en-us/library/aa375142.aspx
Microsoft SQL Server Compact 4.0
SSCERuntime_x86-RUS.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-RUS.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
но он не дает никакой информации о том, как перераспределять SQL Server Compact 4.0.
Случайное разметка вокруг недокументированной папки Program Files
я нашел 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
Примечание. Есть также несколько дочерних папок с большим количеством DLL
Я попытался скопировать эти 7 dll в папку и попытался открыть ADO Connection с помощью строки подключения:
Provider=Microsoft.SQLSERVER.CE.OLEDB.4.0;Data Source="store.sdf"
но с ошибкой 0x80004005 Unspecified error