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

发布于 2024-09-30 14:40:46 字数 396 浏览 1 评论 0原文

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

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


Microsoft Visual Studio

这不是有效的 SQL Server Compact 数据库文件,或者当前的 SQL Server Compact 引擎不支持此文件版本。

好的,

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

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

请帮忙!!

I've installed SQL Compact 4.0 CTP 2 via WPI and used NUPack to add SQLCE.EntityFramework in my project.
It compiles and run perfectly but I can't open the SDF file in Visual Studio 2010's Server Explorer.

When I try I always receive the following message:


Microsoft Visual Studio

This is not a valid SQL Server Compact Database file or this file version is not supported by current SQL Server Compact Engine.

OK

I've already tried to uninstall and reinstall everything.

It cannot be opened in SQL Server 2008 R2 Management Studio also.

Please help!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

黑寡妇 2024-10-07 14:40:46

安装这个(Visual Studio 2010 SP1 Tools for SQL Server Compact 4.0)完美地解决了我的这个问题:
http://go.microsoft.com/fwlink/?LinkId=212219

此线程对 ErikEJ 的支持:
http://forums.asp.net/t/1811963.aspx/1

Installing this (Visual Studio 2010 SP1 Tools for SQL Server Compact 4.0) fixed this exact problem for me perfectly:
http://go.microsoft.com/fwlink/?LinkId=212219

Props to ErikEJ from this thread:
http://forums.asp.net/t/1811963.aspx/1

岁月无声 2024-10-07 14:40:46

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

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

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

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

I met the same problem while trying to follow up the tutorials of MVC3 (MvcMovie) provided by asp.net when I was told to double click the "Movies.sdf" file to check out the tables or other infos.

Acturally the solution is just below the request:

Note If you get an error when you double-click Movies.sdf, make sure
you've installed SQL Server Compact 4.0 (runtime + tools support).
(For links to the software, see the list of prerequisites in part 1 of
this tutorial series.) If you install the release now, you'll have to
close and re-open Visual Web Developer.

After Sql Server Compact 4.0(runtime+tools support) installed, the problem is solved.

完美的未来在梦里 2024-10-07 14:40:46

这个问题有点老了。但我认为答案是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>

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

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

This question is a bit old. But I think the answer is that VS2010 SP1 has SQLCE 3.5 and SQLCE 3.5 x64 only, and not SQL Compact 4.0. The SQL products come together with Studio. There is still no SQLCE 4.0 today in 2012 included in distribution of Studio 2010 (I use Express edition).

This version packaging is not direct root cause, but just a clue, that different version will need extra effort.

The fix should involve registration of "Data Provider" in .NET Framework used by Visual Studio.
Look at "DbProviderFactories" inside c:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config. This section describes what data providers can be used by .NET and Studio.

If there is unexpected entries there, try to repair framework or register providers manually. To do so, some low level registration tools will be required. Say for asp.net providers there is aspnet_regsql.exe etc. But for just SQLCE itself there must be something similar.

<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>

The difference between broken Studio and working App is that both use the same Framework but have different providers in config. (Or app uses other technique to pick a DLL and open SDF)

Answer: Since SP1 it is officially possible to use SQLCE4.0 in Studio 2010 SP1 (Thanks to Nathan Fisher for link http://support.microsoft.com/kb/983509 )

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文