SQL Compact 4.0无法打开/读取sdf文件

时间:2010-11-01 16:25:43

标签: visual-studio-2010 sql-server-ce

我已经通过WPI安装了SQL Compact 4.0 CTP 2,并使用NUPack在我的项目中添加了SQLCE.EntityFramework。 它编译和运行完美但我无法在Visual Studio 2010的服务器资源管理器中打开SDF文件。

当我尝试时,我总是收到以下消息:


Microsoft Visual Studio

这不是有效的SQL Server Compact Database文件,或者当前的SQL Server Compact Engine不支持此文件版本。

确定

我已经尝试卸载并重新安装所有内容。

它也无法在SQL Server 2008 R2 Management Studio中打开。

请帮助!!

3 个答案:

答案 0 :(得分:12)

安装此(SQL Server Compact 4.0的Visual Studio 2010 SP1工具)完全解决了这个问题: http://go.microsoft.com/fwlink/?LinkId=212219

从这个帖子道具到ErikEJ: http://forums.asp.net/t/1811963.aspx/1

答案 1 :(得分:2)

我在尝试跟进asp.net提供的MVC3(MvcMovie)教程时遇到了同样的问题,当时我被告知要双击“Movies.sdf”文件来查看表格或其他信息。

实际上,解决方案就在请求之下:

  

注意如果双击Movies.sdf时出现错误,请确保   你已经安装了SQL Server Compact 4.0(运行时+工具支持)。   (有关该软件的链接,请参阅第1部分中的先决条件列表   本教程系列。)如果您现在安装该版本,则必须这样做   关闭并重新打开Visual Web Developer。

安装Sql Server Compact 4.0(运行时+工具支持)后,问题就解决了。

答案 2 :(得分:0)

这个问题有点老了。但我认为答案是VS2010 SP1只有SQLCE 3.5和SQLCE 3.5 x64,而不是SQL Compact 4.0。 SQL产品与Studio结合在一起。今天仍然没有包含在Studio 2010发行版中的SQLCE 4.0(我使用Express版本)。

这个版本的包装不是直接的根本原因,但只是一个线索,不同的版本将需要额外的努力。

此修复程序应涉及在Visual Studio使用的.NET Framework中注册“数据提供程序”。 查看c:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ machine.config中的“DbProviderFactories”。本节介绍.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和工作App之间的区别在于,它们都使用相同的框架,但在配置中具有不同的提供程序。 (或者应用程序使用其他技术来选择DLL并打开SDF)

答案:自SP1以来,正式可以在Studio 2010 SP1中使用SQLCE4.0(感谢Nathan Fisher提供链接http://support.microsoft.com/kb/983509