博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQLite异常:unsafenativemethods.sqlite3_open_interop
阅读量:5742 次
发布时间:2019-06-18

本文共 1112 字,大约阅读时间需要 3 分钟。

在.NET CF(WM 6)中使用了,程序在个别手机(WM6.1和6.5)上运行异常,异常提示为unsafenativemethods.sqlite3_open_interop方法。如果你使用的是早期版本的System.Data.SQLite,那么在WM6.1或高版本的手机上可能会出现此异常。

2009111314220124.jpg

在的Version History发现了这样的描述:

1.0.50.0 - June 27, 2008
Enhanced the mergebin utility to work around the strong name validation bug on the Compact Framework.  The old workaround kludged the DLL and caused WM6.1 to fail to load it.  This new solution is permanent and no longer kludges the DLL. 

我使用的是1.0.48版,这个版本包括了SQLite引擎和ADO.NET的封装。作者把它们合并到了一个dll文件中。这个dll同时支持native code或managed code调用。但在1.0.50版本的更新中,已经取消了这样的方式。 即ADO.NET provider for SQLite和SQLite.Interop分开单独提供。所以后续版本的System.Data.SQLite.dll文件仅是一个ADO.NET provider for SQLite,不包含SQLite的源码,而nativer的封装在SQLite.Interop.xxx.dll这样的文件中。System.Data.SQLite.dll使用时需要p/invoke SQLite.Interop.xxx.dll。

引用了新的程序集后,没有发现上面这个异常。

作者在后续的版本中提供了ManagedOnly的System.Data.SQLite.dll,使用时需要native sqlite3.dll or Linux shared library from,我在asp.net 中测试可以使用,但在.NET CF中异常。看来这个ManagedOnly应该不支持arm平台。

 

标签:Windows Mobile,.NET CF,SQLite,System.Data.SQLite

 

本文转自chy710博客园博客,原文链接:http://www.cnblogs.com/chy710/archive/2009/11/13/1602505.html
,如需转载请自行联系原作者
你可能感兴趣的文章
刨根问底--技术--jsoup登陆网站
查看>>
OSChina 五一劳动节乱弹 ——女孩子晚上不要出门,发生了这样的事情
查看>>
Spring--通过注解来配置bean
查看>>
pandas 十分钟入门
查看>>
nginx rewrite
查看>>
前端安全系列(一):如何防止XSS攻击?
查看>>
查看Linux并发连接数
查看>>
你是谁不重要,关键是你跟谁!
查看>>
CSS中规则@media的用法
查看>>
pychecker:分析你的python代码
查看>>
我的友情链接
查看>>
DNS显性+隐性URL转发原理
查看>>
我的友情链接
查看>>
网易有道 IP地址、手机号码归属地和身份证 查询接口API
查看>>
鼠标停留在GridView某一行时行的颜色改变
查看>>
系列3:WAS Liberty Profile hello mysql jdbc
查看>>
基础知识:python模块的导入
查看>>
Android MVC之我的实现
查看>>
我的友情链接
查看>>
我的友情链接
查看>>