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

And*_*nna 23 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中打开.

请帮忙!!

小智 12

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

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


小智 0

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

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

该修复应涉及在 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>
Run Code Online (Sandbox Code Playgroud)

损坏的 Studio 和工作应用程序之间的区别在于,两者都使用相同的框架,但在配置中具有不同的提供程序。(或者应用程序使用其他技术来选择 DLL 并打开 SDF)

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