SQL Server CE不兼容的数据库版本 [英] SQL Server CE Incompatible Database Version
问题描述
我有一个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屋!