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.
Пожалуйста, помогите!!
Ответы
Ответ 1
Установка этого (Visual Studio 2010 SP1 Tools для SQL Server Compact 4.0) исправила эту точную проблему для меня совершенно:
http://go.microsoft.com/fwlink/?LinkId=212219
Подходит для ErikEJ из этой темы:
http://forums.asp.net/t/1811963.aspx/1
Ответ 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)