2

我有一个 SQL Server CE 4.0 数据库(.sdf文件),当我尝试从我的应用程序 (WPF) 对数据库进行查询时,我收到以下错误。

不兼容的数据库版本。如果这是兼容文件,请运行修复。对于其他情况,请参阅文档。[ Db 版本 = 4000000,请求版本 = 3505053,文件名 = \?\C:\Database\ShortageReport\MRPDatabase.sdf]

  • 我已经检查了 SQL Server CE 4 sp1 是否已安装。
  • 我尝试在 Database.Net 4 和 vs2012 的连接设置中创建数据库。
  • 我正在运行 Windows 7 64 位
  • 我的连接字符串存储在app.config.

我正在使用 SQL Server Compact Toolbox 生成上下文和映射。

我的app.config

<connectionStrings>
    <add name="DatabaseContext" 
         providerName="System.Data.SqlServerCe.4.0" 
         connectionString="Data Source=C:\Database\ShortageReport\MRPDatabase.sdf"/>
</connectionStrings>

有任何想法吗?

4

3 回答 3

7

添加对版本 4.0 System.Data.SqlServerCe.dll ADO.NET 提供程序的引用

DataContext然后用SqlCeConnection(4.0)对象初始化类。

using (SqlCeConnection conn = new SqlCeConnection(@"Data Source=C:\projects\Chinook\Chinook40.sdf"))
{
    using (Chinook db = new Chinook(conn))
    {
        var list = db.Album.ToList();
        if (list.Count > 0)
            System.Diagnostics.Debug.Print("It works!");
    }
}
于 2013-05-14T13:04:43.250 回答
2

我从以下路径更新了 SqlServerCe.dll 引用,它已修复

参考路径:

C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Desktop\System.Data.SqlServerCe.dll
于 2014-12-19T12:50:41.407 回答
0

我发现了类似的问题并卸载了所有框架 SQL Server Compact 3.5 和 SQL Server Compact 3.5 SP1 我已经解决了这个问题。

干杯,

于 2015-02-23T17:17:52.613 回答