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

2019-09-03 02:57发布

我有一个SQL Server CE 4.0数据库( .sdf文件),当我试图从我的应用程序(WPF)我得到以下错误做数据库的查询。

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

  • 我已经检查安装SQL Server CE 4 SP1。
  • 我试图在这两个Database.Net 4,并在vs2012连接设置创建数据库。
  • 我运行Windows 7 64位
  • 我的连接字符串存储在app.config

我使用SQL Server精简Toolbox产生的背景和映射。

app.config

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

有任何想法吗?

Answer 1:

添加一个引用到版本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!");
    }
}


Answer 2:

我从以下路径更新SqlServerCe.dll参考,并固定

参考路径:

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


Answer 3:

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

干杯,



文章来源: SQL Server CE Incompatible Database Version