Как развернуть SQL Server Compact Edition 4.0?

Как развернуть Microsoft SQL Server Compact 4.0?


SQL Server Compact Edition (в настоящее время версия 4.0):

бесплатная встроенная база данных, которую разработчики программного обеспечения могут использовать для создания настольных приложений Windows. Он занимает мало места и поддерживает частное развертывание своих двоичных файлов в папке приложения.

Но как вы на самом деле развернете его?

Проблема в том, что вы не можете использовать провайдер 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 через 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-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

, но не содержит никакой информации о том, как распространять SQL Server Compact 4.0.

Произвольно просматривая недокументированную папку Program Files, я нашел 7 dll:

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-соединение , используя строку подключения :

Provider=Microsoft.SQLSERVER.CE.OLEDB.4.0;Data Source="store.sdf"

, но это не удалось с 0x80004005 Неуказанная ошибка

я попытался разблокировать виджет, но он поймал фроббера.

45
задан Ian Boyd 24 May 2012 в 14:47
поделиться