Проблемы с подключением к базе данных CE - PullRequest
0 голосов
/ 21 января 2011

Я получил ошибку, что поставщик не может быть найден в моем клиентском приложении при попытке подключиться к файлу базы данных CompactEdiction. Когда я тестировал это приложение на моей машине, где был установлен SQL Server 2008, все было в порядке.

Установлены .net (3.5 и 4.0) и sp3 (windows xp). Вы знаете, что мне не хватает, чтобы запустить его? Есть проблема с провайдерами ...

В каталоге приложений есть скопированные файлы:

System.Data.SqlServerCe.dll
System.Data.SqlServerCe.Entity.dll
sqlceca35.dll
sqlcecompact35.dll
sqlceer35EN.dll
sqlceme35.dll
sqlceoledb35.dll
sqlceqp35.dll
sqlcese35.dll

В настройках приложения у меня есть такая запись:

<configuration>
    <system.data>
            <DbProviderFactories>
                <remove invariant="System.Data.SqlServerCe.3.5"/>
                <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral"/>
            </DbProviderFactories>
        </system.data>

ошибка:

 error 0004: Could not load System.Data.SqlServerCe.Entity.dll. Reinstall SQL Server Compact

и сервер не должен быть установлен, вот требование

Если в appConfig нет записи, появляется сообщение об ошибке:

 The specified store provider cannot be found in the configuration, or is not valid. ---> System.ArgumentException: Unable to find the requested .Net Framework Data Provider.  It may not be installed.
   at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
   at System.Data.EntityClient.EntityConnection.GetFactory(String providerString)

В строке подключения указывается:

provider=System.Data.SqlServerCe.3.5

1 Ответ

0 голосов
/ 21 января 2011

Вы уверены, что нет больше DLL для SQL Compact, которые нужно скопировать?

Также есть новая версия SQL Compact out, 4.0, я думаю, - возможно, это поможет обновить ее до этой. Это длинный выстрел, но вы никогда не узнаете;)

EDIT: Посмотрите на этот сайт: http://msdn.microsoft.com/en-us/library/aa983326.aspx там указано, что есть семь dll-файлов для копирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...