Подтвердить что ты не робот

SQL Compact 4.0 не может открыть/прочитать файл sdf

Я установил SQL Compact 4.0 CTP 2 через WPI и использовал NUPack для добавления SQLCE.EntityFramework в свой проект. Он компилируется и работает отлично, но я не могу открыть файл SDF в Visual Studio 2010 Server Explorer.

Когда я пытаюсь, я всегда получаю следующее сообщение:


Microsoft Visual Studio

Это не является допустимым файлом базы данных SQL Server Compact или эта версия файла не поддерживается текущим SQL Server Compact Engine.

OK

Я уже пытался удалить и переустановить все.

Он также не может быть открыт в SQL Server 2008 R2 Management Studio.

Пожалуйста, помогите!!

4b9b3361

Ответ 2

Я столкнулся с той же проблемой, пытаясь следить за учебниками MVC3 (MvcMovie), предоставленными asp.net, когда мне сказали дважды щелкнуть файл "Movies.sdf", чтобы проверить таблицы или другую информацию.

Фактически решение находится чуть ниже запроса:

Примечание. Если вы получаете сообщение об ошибке при двойном щелчке Movies.sdf, убедитесь, что вы установили SQL Server Compact 4.0 (поддержка среды выполнения + инструменты). (Ссылки на программное обеспечение см. В списке предварительных условий в части 1 эта серия уроков.) Если вы установите версию сейчас, вам придется закрыть и повторно открыть Visual Web Developer.

После установки Sql Server Compact 4.0 (поддержка среды выполнения + инструменты) проблема решена.

Ответ 3

Этот вопрос немного стар. Но я думаю, что ответ заключается в том, что VS2010 SP1 имеет только SQLCE 3.5 и SQLCE 3.5 x64, а не SQL Compact 4.0. Продукты SQL объединяются со Studio. В 2012 году SQLCE 4.0 по-прежнему отсутствует в дистрибутиве Studio 2010 (я использую Express Edition).

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

Исправление должно включать регистрацию "Поставщика данных" в .NET Framework, используемого Visual Studio. Посмотрите на "DbProviderFactories" внутри c:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config. В этом разделе описываются, какие поставщики данных могут использоваться .NET и Studio.

Если там есть неожиданные записи, попробуйте вручную восстановить фреймворк или регистрировать поставщиков. Для этого потребуются некоторые инструменты регистрации низкого уровня. Скажем, для провайдеров asp.net есть aspnet_regsql.exe и т.д. Но для самого SQLCE должно быть что-то подобное.

<system.data>
    <DbProviderFactories>
       <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.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
    </DbProviderFactories>
</system.data>

Разница между сломанным Studio и рабочим приложением заключается в том, что оба используют одну и ту же платформу, но имеют разные поставщики в конфигурации. (Или приложение использует другую технику для выбора DLL и открытия SDF)

Ответ: Начиная с SP1, официально можно использовать SQLCE4.0 в Studio 2010 SP1 (спасибо Nathan Fisher за ссылку http://support.microsoft.com/kb/983509)