SQL Server CE不兼容的数据库版本 [英] SQL Server CE Incompatible Database Version

查看:164
本文介绍了SQL Server CE不兼容的数据库版本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a SQL Server CE 4.0 database (.sdf file) and when I trying doing a query on the database from my application (WPF) I get the following error.

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

Incompatible Database Version. If this was a compatible file, run repair. For other cases refer to documentation. [ Db version = 4000000,Requested version = 3505053,File name = \?\C:\Database\ShortageReport\MRPDatabase.sdf]

  • 我已检查已安装SQL Server CE 4 sp1.
  • 我曾尝试在Database.Net 4和vs2012中的连接设置中创建数据库.
  • 我正在运行Windows 7 64bit
  • 我的连接字符串存储在app.config中.
    • I have checked SQL Server CE 4 sp1 is installed.
    • I have tried creating the database in both Database.Net 4 and in the connection setup in vs2012.
    • I'm running windows 7 64bit
    • My connection string is stored in the app.config.
    • 我正在使用SQL Server Compact Toolbox来生成上下文和映射.

      I am using SQL Server Compact Toolbox to generate the context and the mappings.

      我的app.config:

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

      有什么想法吗?

      推荐答案

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

      Add a reference to the version 4.0 System.Data.SqlServerCe.dll ADO.NET provider

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

      Then initialize the DataContext class with a SqlCeConnection (4.0) object.

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

      这篇关于SQL Server CE不兼容的数据库版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆