我在尝试打开连接时遇到错误。我的DB.sdf文件位于我的应用程序文件夹
中这里我存储了db.sdf
{
string ConnectionString= new System.IO.FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).DirectoryName + @"\APP_DATA\DB.sdf";
public int ExecuteNonQuery(string query){
int res = -1;
try
{
using (SqlCeConnection conn = new SqlCeConnection(ConnectionString))
{
SqlCeCommand command = new SqlCeCommand(query, conn);
command.CommandType = CommandType.Text;
conn.Open();
res = command.ExecuteNonQuery();
}
}
catch (Exception e)
{
new Logs().TraceProcessError(e.Message);
}
return res;
}
}
错误:
您正在尝试访问旧版本的SQL Server Compact 版数据库。如果这是SQL Server CE 1.0或2.0数据库,请运行 upgrade.exe。如果这是SQL Server Compact Edition 3.0或更高版本 数据库,运行Compact / Repair。 [Db版本= 3505053,请求 version = 3004180,文件名= D:\ DB.sdf]“
我正在使用SQL Server Compact 3.5。,VS2010,SQLServer 2008R2。
请帮忙。 感谢。
答案 0 :(得分:0)
确保您(1)知道您的数据库是哪个版本的SQL Server CE,以及(2)您引用了与该SQL CE版本匹配的项目中的相应System.Data.SqlServerCe.DLL
。
答案 1 :(得分:0)
请参考以下链接:
希望它有所帮助.. !!
答案 2 :(得分:0)
从这里下载SQL Server紧凑型工具箱
https://sqlcetoolbox.codeplex.com/
针对您的数据库文件运行它并记下版本号(例如3.5)
进入visual studio,单击资源下的System.Data.SqlServerCe,然后单击属性下的。在属性中记下版本号(例如3.0)
如果库版本号较旧。下载SQL Server Compact安装程序并运行。 http://www.microsoft.com/en-IE/download/details.aspx?id=12264
安装完毕。从项目中删除对System.Data.SqlServerCe和System.Data.SqlClient的引用,并添加其等效的3.5版本。在我的系统上找到。
C:\ Program Files(x86)\ Microsoft SQL Server Compact Edition \ v3.5 \ Devices \ System.Data.SqlServerCe.dll
和
C:\ Program Files(x86)\ Microsoft SQL Server Compact Edition \ v3.5 \ Devices \ Client \ System.Data.SqlClient.dll
清理然后重建。就像我在评论中提到的那样,这在VS 2008上的某个时刻就会解开,所以如果你再次得到错误,请仔细检查路径是否如上所述。