22626|63

73

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

救命,郁闷了好几天了。无法找到 PInvoke DLL“sqlceme30.dll”! [复制链接]

我用的是vs2005开发手持终端windows ce 5.0下的程序,链接数据库提示。
无法找到 PInvoke DLL“sqlceme30.dll” 。
在网上找了很多文章,还是解决不了!各位大哥,救命!郁闷了好几天了。

我按照以下方法做了还是不行。
无法找到 PInvoke DLL“sqlceme30.dll” 转载自:http://blog.eeworld.net/oohyes/archive/2009/01/08/3736239.aspx



原文:Can’t find P/Invoke DLL sqlcemeNN.dll
作者:Laxmi Narsimha Rao ORUGANTI
翻译:flyjimi

我知道这是一个烦人的、信息不足、不具指导性、……的错误。原谅我这么迟才blog这个错误。迟做比不做好,下面就是了。
目前的错误是什么?
1) Can't find P/Invoke DLL sqlceme30.dll
2) Can't find P/Invoke DLL sqlceme35.dll
3) Can't find P/Invoke DLL sqlceme40.dll
这个错误到底什么意思?
当一个托管组件(这里是System.Data.SqlServerCe.dll)试图调用一个原生DLL(这里是sqlcemeNN.dll,NN代表产品的版本号30,35,等),系统没有找到那个要装载并调用其方法的DLL。
何时我们会碰到这个错误?
当系统在系统目录或当前进程的执行目录找不到需要的DLL时,就会出现这个错误。
如何处理这个错误?可能的修复方法是什么?
有多种情况,下面是最常见的:
1) 在.NET CF SP2之前,在存储卡上没有GAC的概念。如果你在存储卡上安装了SQL CE,在设备上安装了.NET CF 2.0 RTM/SP1,结果原生DLL就在存储卡上,而GAC在主存。因此,托管组件调用方法就会失败。
       a. 请使用.NET CF SP2以上版本。
       b. 请在主存储器安装cab文件。
       c. 请更新到SQL CE 3.0 SP2/3.1或以上。
2) 你在开发智能设备(基于Windows CE操作系统)上的应用程序,并且使用了Visual Studio自动部署(F5)特性。VS在把System.Data.SqlServerCe.dll 映射到CAB文件时失败,只部署了System.Data.SqlServerCe.dll(注意:不会报错)。在这种情况下,原生DLL没有部署。
a. 取消自动部署。 (别问我怎么做)
b. 从项目中移除,然后重新添加 System.Data.SqlServerCe 的引用。 因为, VS 在项目文件保存了组件id. 而我们改变了SQL CE 3.5 SP1中的组件版本,移除再添加就会更新解决方案,引用正确的组件版本。
c. 手动拷贝安装SQL CE 的所有3个CAB文件,它们在以下目录:
%VisualStudioInstallRoot%\SmartDevices\SDK\SQL Server\Mobile\v3.5\ \

%ProgramFiles%\Microsoft SQL Server Compact Edition\3.5\Devices\ \
3) 系统加载sqlcemeNN.dll.失败。关于为什么系统加载模块失败的更多的细节,在我之前的一个blog(译注:中文翻译在这里)中有讨论。
4) 如果你的机器是64位的,你可能陷入了默认的目标平台“任何CPU”的陷阱,请设置目标平台为“x86”。如需要更多详情,请访问ErikEJ的博客。
5) 对于所有其他的情况,请升级到SQL CE 3.0 SP2/3.1 以上。如果可能,确保HKLM\Software\Microsoft\Microsoft SQL Server Compact Edition\\NativeDir 注册表指向原生DLL的安装目录。如果运行在WoW模式,请考虑WoW注册表。
致谢,

最新回复

解决了吗?  详情 回复 发表于 2010-6-25 09:14
点赞 关注

回复
举报

65

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
应该可以的上面的做法,难道你的WIN CE 5.0有问题
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
能提供一个 WIN CE 5.0的下载吗?
难道我的真的有问题!
 
 
 

回复

47

帖子

0

TA的资源

一粒金砂(初级)

4
 
请Paol或者91吧,我只能帮顶!
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

5
 
我用的是这个
Win CE5.0模拟器简体中文绿色版
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

6
 
是不是我做错什么步骤啊?
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

7
 
1、已安装了NETCFv2.wce5.armv4i.cab
2、sqlce30.dev.CHS.wce5.armv4i.CAB
3、sqlce30.repl.wce5.armv4i.CAB
4、sqlce30.wce5.armv4i.CAB
5、sqlce.dev.CHS.wce5.armv4i.CAB
6、sqlce.repl.wce5.armv4i.CAB
7、sqlce.wce5.armv4i.CAB
这些都装上了,就是不行!是这些版本没错吧!
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

8
 
还是很有用的
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

9
 
e im tkwv wkgr
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

10
 
对方是个得分手各地方个
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

11
 
http://topic.eeworld.net/u/20081211/16/45cb41fe-0b26-44bd-a1dd-1c5103ed2a6f.html
也有人跟我一样同样遇到此问题,还没解决!
期待高手!
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

12
 
帮顶
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

13
 
确定System.Data.SqlServerCe.dll这个DLL的版本CE与VS中引用的版本号是否一致。
我之前在SQLCE3.5上也遇到过该问题,原因是CE上的SQLCE3.5没打SP1,PC上的打了SP1
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

14
 
sssssssss
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

15
 
KENDING可以的上面的做法,难道你的WIN CE 5.0有问题
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

16
 
嗯,应该是这样的吧,可以的吧?
 
 
 

回复

95

帖子

0

TA的资源

一粒金砂(中级)

17
 
设备的安装文件就是从
C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\armv4i
下拷出来安装的!
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

18
 
框架和SQLCE一定要装在卡上?
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

19
 
我也碰到过
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

20
 
没有用过vs里的sql,帮顶了
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表