您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于ARM-Linux的SQLite嵌入式数据库的研究 正文
基于ARM-Linux的SQLite嵌入式数据库的研究

基于ARM-Linux的SQLite嵌入式数据库的研究

点击数:7617 次   录入时间:03-04 11:45:41   整理:http://www.55dianzi.com   嵌入式系统-技术

(1)当用户浏览NAS系统中的媒体文件时,执行DatabaseOpen数据库打开操作。

(2)接着查找当前的SQLite数据库表,得到媒体文件的路径,通过DatabaseExecute执行SQL 查询语句得到路径。

(3)通过媒体文件的路径打开媒体文件,把媒体文件,通过UPnP网络发送出去。SQLite的特点决定了它与应用结合时的便捷性。作为数据的存储介质,SQLite文件被保存为一个普通的磁盘二进制文件,它无需一个服务器进程来提供服务,对SQLite数据文件的直接操作即可完成想要做的工作。结合应用需求,在应用层编写了一组对SQLite的API调用操作的简单封装,部分封装函数如下::

DatabaseOpen                             ;调用SQLite_open打开数据库文件

DatabaseClose                             ;调用SQLite_close关闭数据库

DatabaseExecute                         ;执行SQL命令

应用层的部分封装函数的实现代码如下::

int DatabaseOpen ( struct DBObj3 db, const char3 dbName)

{

char3 pzErrMsg = NULL;

structDB Info3 pDB info;     / /数据库文件指针

if (NULL = = dbName)               return 1;

pDBinfo = ( struct DB Info3 ) db - > priv;

pDBinfo - > stConnect = ( struct sqlite3 ) sqlite_open ( dbName, 0777, &pzErrMsg) ;

if ( NULL = = pDB info - > stConnect )

 {

   printf ( " db open error. " ) ;

   return 1;

 }

 return 0;

}

int DatabaseExecute ( struct DBObj3 db, const char3 szSQL)

{

char3 pErrMsg = NULL;

int nErrorCode;

struct DB Info3 pDBinfo;

pDB info = ( structDB Info3 ) db —> priv;

nErrorCode = sqlite_exec ( ( struct sqlite 3 )(pDBinfo - > stConnect) ,

 szSQL, NULL, NULL, &pErrMsg) ;

return nErrorCode;

}

可以看出,各个封装函数是通过调用SQLite的API函数实现的。在基于Linux操作系统上使用SQLite,经测试嵌入式数据库响应迅速,运行稳定,用户基本感觉不到命令延迟,在浏览声音和图像媒体时流畅自然,充分验证了使用SQLite数据库的优越性。

5 总结

       在经过大量的分析对比之后,针对嵌入式系统开发的特点,从众多数据库发行版中选出非常适用的嵌入式数据库SQLite。ARM-Linux下完成了对SQLite的编译,并基于此在项目中作了进一步的开发工作。实践证明,SQLite能够出色地完成嵌入式系统中的数据库应用需求。

 

参考文献

[1] 谭爱国,琚长江,余 涛.SQLite在基于L inux的Media NAS系统中的应用[J]。武汉理工大学学报:信息与管理工程版, 2007, 29 (6)

[2] 曾立胜. 基于SQL ite嵌入式数据库的射频卡数据存储[ J ]. 电脑知识与技术, 2006 (8)

[3] 倪天龙,张贤高,王培.数据库SQLite在嵌入式系统中的应用[ J ]. 单片机与嵌入式系统应用, 2005 (10) : 35 - 37.

[4] 万玛宁. 嵌入式数据库典型技术SQLite和Berkeley DB的研究 [J]. 微计算机信息,2006/02

[5] 王冠宇. JAVA在SQLite嵌入式数据库中的应用 [J]. 微计算机信息,2006/02



上一页  [1] [2] 


本文关键字:嵌入式  数据库  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术