简介:
Sqlite作为一个轻量级的数据库具有很强的移植性。其实微软已经为我们提供了他的官方的移动数据库Sql CE。但是由于其性能的原因,在把Sql CE应用到实际的商务项目之前得先确保项目的数据量不是很大,否则你得冒着极大的风险在项目后期替换你的数据库引擎。当然如果你熟悉其他数据库,例如sql anywhere的mobile数据库,那也不失为一个好的选择。本文将主要跟大家分享如何在Visual Studio 2010或以上版本中如何使用SQLite。
集成开发环境:
如果没有安装设计器支持,那你在Visual Studio中想添加新数据库时你会发现没有Sqlite这个选项。如下图:
现在有两种设计器可以选择
1、右phxsoftware提供的早期版本
在Visual Studio 2010或之前要想在开发环境中集成SQLite数据库设计器,你可以到sourceforge下载VS2010/VS2008对应的设计器支持,但是该版本对应的编译版本是dotnet framework 2.0。
该设计器以及该公司对sqlite的.net支持已停止。
2、由sqlite开发团队提供的设计器
现在Sqlite的.net支持已由sqlite开发团队接手,当前该项目仍处于活跃状态。
在Sqlite开发站点你可以下载到针对VS2005,2008,2010,2012的各种设计器支持。值得注意的是,如果你的开发环境是64位系统,那你还是得安装32位的带设计器支持安装包。所有的64位安装包中是不带设计器支持的。 因此如果你是64位开发环境,你可以通过nuget安装你项目需要依赖的sqlite文件,设计器的话安装对应的32位安装包。在安装的时候选择customize然后选择设计器支持。
注:在下载页中选择标有如下文本的链接下载设计器。
This is the only setup package that is capable of installing the design-time components for Visual Studio xxxx.
使用SQLite
之前所有的准备就是为了更好的使用SQLite。要用Sqlite开发那必须引用Sqlite库文件,在Visual Studio 2010+开发环境中我们第一个想到的肯定是通过nuget来管理sqlite依赖。
1、在nuget中选择如下包
2、在安装完sqlite开发包后,最新的sqlite支持动态判断x86或x64系统的能力。对应的项目结构图如下:
3、在部署你的应用程序的时候请保证以上目录结构同样被部署到你的应用程序目录。
问题解决
1、如果你还在使用phxsoftware提供的设计器,但是使用dotnet framework 4.0作为运行时环境。那请在你的应用程序配置文件中添加如下节点,否则你在运行你的代码的时候会被提示sqlite库文件为2.0版本,程序会直接崩在那。
<system.data> <DbProviderFactories> <remove invariant="System.Data.SQLite"/> <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/> </DbProviderFactories> </system.data>
2、工欲善其事、必先利其器!找个好工具管理本地的Sqlite数据库
我使用的是Sqlite Manager,改工具作为Firefox的一个插件的形式存在。这样我可以在我的Mac中也可以很好的管理我的Sqlite数据库。
如果要安装的话,在firefox插件中搜索SQLite Manager。
上图:
当然还有其他的很好的工具,可以参考我列举的应用资源的博文中找到另外一个工具。
其他资源
1、SQLite开发主站
http://system.data.sqlite.org/index.html/doc/trunk/www/index.wiki
2、SQLite的Linq-to-SQL支持
http://www.codeproject.com/Articles/236918/Using-SQLite-embedded-database-with-entity-framewo
3、原phxsoftware提供的设计器支持安装包
http://sourceforge.net/projects/sqlite-dotnet2/files/SQLite%20for%20ADO.NET%202.0/1.0.66.0/
4、国内早期的一个关于SQLite集成VS2010的博文
http://blog.bossma.cn/database/visual-studio-2010-and-dotnet-4-sqlite-net/