日期:2014-05-16  浏览次数:20463 次

Win8中使用sqlite数据库的几点小结

目前来说,win8没有本地数据库。使用sqlite作为win8的数据存取是一种比较实在的解决方案。

我在使用sqlite过程中,遇到过一些问题,现在做一个小结作为本次的开发笔记吧。


(1) sqlite在vs2012上的安装教程参考:sqlite for win8.

     sqlite在win8环境中暂时不支持any cpu编译的方式,也即是对于ARM, x64等架构的处理器还需各自编译一次。


(2) sqlite的系统版本和开发环境应该使用RTM版,即win8 RTM + vs2012 RTM。如果使用的vs2012 RC 或者vs2012 RP的话,vs在创建数据库的时候会出问题并提示: Windows 无法安装程序包 Microsoft.VCLibs.110.Debug,因为此程序包需要体系结构 ARM,但此计算机具有体系结构 x64。

      关于这个问题的解决方案有个参考链接,不过对于vs2012 RC来说不起作用,卸载重装RTM版问题就解决(msdn论坛参考)。


(3) 在创建数据库的时候,要考虑创建的路径问题。在SQLite.cs中有这么一行的默认代码:

var r=SQLite3.Open(DatabasePath,out handle);

如果本机的用户名是采取中文命名的,那么这行代码就要改为(以正确读取中文字符):

var r=SQLite3.Open16(DatabasePath,out handle);
否则vs会提示:试图加载格式不正确的程序。


(4) 正在开发和调试,稍后更新




1楼xiaodaohb昨天 17:10
moxiaomomo:远程计算机调试时有没有遇到过“无法加载DLL ‘sqlite3':找不到指定的模块”问题,远程计算机上没有安装SQLite相关内容,不过调试时sqlite3.dll已经部署到应用程序目录下。
Re: xiaodaohb昨天 18:23
回复xiaodaohbnRelease下正常,Debug下会找不到Dll。