我开发了一个C#.net windows窗体应用程序,用于从/向SQL Server CE数据库获取和更新数据。虽然我在windows ce 6.0机器上运行此应用程序,但是出现以下错误:
A native exception occurred in ItemDB.exe(my exe name).
Details:
Exception code : 0x80000002
Exception address: 0x40e843b4
Faulting module: sqlceme35.dll
offset: 0x000043b4
at
NavigateMethod.GetKeyInfo(parm1,parm2,...)
at
SqlCEDataReader.FillMetaData(command)
at
sqlCeCommand.InitializeDataReader()
所以我在网上搜索并找到了这个链接:
http://go4answers.webhost4life.com/Example/cant-find-pinvoke-dll-sqlceme35dll-49162.aspx
正如所建议的,我复制了ZIP文件(因为,我没有获得Cab文件)并将其更改为.Cab。然后我尝试运行Cab,但是,它说“这不是一个有效的wince安装文件”。
希望我能清楚地解释清楚。有人可以帮助我吗?答案 0 :(得分:4)
这几乎总是由您在PC上编译的内容与您在设备上部署的内容之间的SQL CE版本差异引起的。确保项目引用和设备上的SQL CE版本号相同。通常我不会从引用中的“.NET”选项卡添加引用,但我特意浏览引用,因此我知道正好正在使用哪个文件,然后从同一位置手动部署SQLCE设备。
* 修改的
您应该查找要部署的文件的位置在这里:
C:\ Program Files(x86)\ Microsoft SQL Server Compact Edition \ v3.5 \ Devices \ wce500 \ armv4i
您的项目参考应指向此处:
C:\ Program Files(x86)\ Microsoft SQL Server Compact Edition \ v3.5 \ Devices \ System.Data.SqlServerCe.dll