SQL Server CE不兼容的数据库版本

时间:2013-05-14 12:39:51

标签: c# wpf linq-to-sql sql-server-ce

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

  

不兼容的数据库版本。如果这是兼容文件,请运行修复。对于其他情况,请参阅文档。 [Db version = 4000000,Requested version = 3505053,File name = \?\ 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>

有什么想法吗?

3 个答案:

答案 0 :(得分:7)

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

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

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!");
    }
}

答案 1 :(得分:2)

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

参考路径:

C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Desktop\System.Data.SqlServerCe.dll

答案 2 :(得分:0)

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

干杯,