SQLite数据库在嵌入式程序开发中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
万方数据
第21卷第3期韩善锋等:SQLite数据库在嵌入式程序开发中的应用
掉一些不需要的特征,能被减少到170kB。
(5)存储量大。最高能支持2TB的数据库,运行速度比MySQL快1~2倍。
(6)数据可自由共享。SQLite数据库在PC机和嵌入式设备中采用相同的数据格式,其数据库文件可以在PC机和嵌入式设备上自由共享。
(7)无数据类型的限制。SQLite最大的特点在于其数据类型为无数据类型(Typelessness)。这意味着可保存任意类型的数据到所想要保存的任何表中的任何列,无论这列声明的数据类型是什么。虽然在生成表结构时,要声明每个域的数据类型,但SQLite并不做任何检查。这里有一个例外,就是当主键为整型时,如果要插入一个非整型值时会产生异常。
(8)可靠性较好。SQLite数据库的API简单、易用,有良好注释的源代码,并且有着98%以上的测试覆盖率。
2嵌入式数据库对比
目前,嵌入式数据库市场主要由四种产品分割:SQLite、BirkeleyDB、Firebird嵌入服务器版、SQLCE,其中前三类数据库产品都是开源软件,SQLCE是微软开发的软件。这四种数据库性能对比见表1。
衰l开源数据库性能对比表
数据库win32平台下
产品名称当前版本速度稳定性SQL支持数据操纵
容量最小体积SQLite3.6.23最快好2TB大部份SQL--92374kBSQL
仅应用BirkeleyDB5.0.26快好256TB不支持840kB
程序接口
Firebird
2.5快好64TB完全SQL一92与
3.68MBSQL
嵌入服务器版大部份SQL一99
SQLCE3.1慢好4GB完全SQL--923MBSQL
从表1可以看到,体积最小的是SQLite,它的性能也是最高的;BirkeleyDB比较特殊,因为它不是用SQL语言来操纵数据的;Firebird嵌入版的体积对比之下显得稍大了些;而微软开发的SQLCE在运行速度方面低于SQLite数据库,并且数据库的容量明显小于其他三种数据库。由此可见,在嵌入式应用程序开发方面,SQLite数据库是嵌入式轻量级数据库的首选。
在PC机应用程序开发方面,SQLite数据库也是桌面轻量级数据库的首选。Access数据库虽然
图1Access和SQLite运行效率对比是一个常用的桌面轻量级数据库软件,但是由于Access数据库不支持事务操作,其运行效率明显低于SQLite数据的运行效率。图1是Access和SQLite运行效率对比的实例。
3SQLite数据库的应用
3.1编译WinCE平台所需要的SQLite库文件(1)下载源码
首先到http://www.sqlite.org/download.ht—ml网站下载最新的SQLite源码文件。本文以(sqlite-source-3—6—23—1.zip和sqlite-amalgama—tion一3—6—23—1.zip)为例说明。
(2)创建项目工程
编程语言:VisualC++;选择创建一个“Win32智能设备项目”;
平台选择:PocketPC2003;
应用程序类型选择:一个空dll项目;将下载之后的文件解压放到dll项目的工程目录之下。将其
中的tclsqlite.C和shell.C文件删除。万方数据
万方数据
万方数据
178物探装备2011年
文件,将计算机和导航仪连接,上装物探测线到导航仪上,利用从Google地球中获取的信息,制定详细的踏勘和生产计划,指导物探生产的开展。
3.2GPX、KML在实际工作中的应用
2010年,在河津南矿权维护二维地震勘探工区,面对工区范围大、地表条件复杂、小道距双线生产、任务紧等诸多不利因素,我们成功地利用TGO软件实现了GPX、KML数据格式转换。其转换过程如下:
先将设计测线导人TG0后,利用TGO生成GPX、KML格式文件;然后在Google地球中展开
图2KML(左)、GPX(右)为导入Google地球、
Mapsource的测线示意图
测线,调查影响地震勘探施工的各种障碍物分布状况,标记出障碍物的位置;接下来把GPX数据导入Mapsource导航仪工具软件中,并用特殊记号标出障碍物的位置;最后将测线和障碍物数据导人到导航仪中进行实际调查,确定测线的施工方案,如图2所示。图2中,红旗标注的点为需踏勘确认偏移的特征点。
4结束语
实践证明,利用TG0数据处理软件生成GPX、KML数据格式文件是可行的。TGo是一款开放的GPS数据处理软件,界面友好、操作简单、易学、易用,适合不同专业人员的应用。同时,在设置好坐标系统组后,可以直接调用设置好的坐标系统组,输入地方坐标系坐标。输出WGS一84坐标系坐标的GPX、KML数据格式文件,无需再进行地方坐标系到WGS一84坐标系的转换,节省了时间,避免了坐标转换造成的不便,具有一定的推广应用价值。
参考文献
1维基百科,GPX.http://zh.wikipedia.org/zh-cn/Gpx20102Google:开放空间联盟发布.KML文档简介.http://code.google。com/intl/zh-CN/apis/kml/documentation/.2010
3Trimble公司.TrimbleGeomaticsOffice帮助文件:Trim—bleNavigationLimited.2000
4史晓奇,畅毅.GPX数据格式在物探测量中的应用.物探装备,2010,20(1)
收稿日期:2010-10-14
(上接第173页)
5结束语
通过本文对SQLite数据库特点的介绍以及同其它嵌入式数据库对比,可以看出SQLite数据库在性能上有其独到的优势,实用性好、空间占用少、安全可靠、成本低,是嵌入式系统开发非常好的数据平台。
参考文献
1http://www.sqlit己org官方网站,包括各种资料和源代码2http;∥WWW.sqlite.corp.。enSQLite中文网站,包括各种中文资料和应用文档
3唐敏,宋杰.嵌入式数据库SQLite的原理与应用[J].电脑知识与技术,2008
4廖顺和.嵌入式数据库SQLite加密方法分析与研究[J].计算机应用与软件,2008,25
5刘小春,柴玉梅,张彦丽.SQLite嵌入式数据库的研究[J].情报学报,2006,25
6韩太东,卢秉亮等.嵌入式数据库SQLite在Windows程序中的应用[J].沈阳航空工业学院学报,2009,26
收稿日期:2010一II一06万方数据