Sqlite 嵌入式数据库移植和使用

Sqlite 嵌入式数据库移植和使用,第1张

概述  1.    源代码的获取 sqlite是一个功能强大、体积小运算速度快的嵌入式数据库,采用了全C语言封装,并提供了八十多个命令接口,可移植性强,使用方便。 下载地址:http://sqlite.org/download.html sqlite源代码:sqlite-3.6.17.tar.gz 2.    sqlite移植到x86 for linux l    解压文件     //创建一个文件夹

1.源代码的获取

sqlite是一个功能强大、体积小运算速度快的嵌入式数据库,采用了全C语言封装,并提供了八十多个命令接口,可移植性强,使用方便。

下载地址:http://sqlite.org/download.html

sqlite源代码:sqlite-3.6.17.tar.gz

2.sqlite移植到x86 for linux

l解压文件

//创建一个文件夹,将源代码放在这个文件夹中。

mkdir /work/sqlite

cp sqlite-3.6.17.tar.gz /work/sqlite

//解压文件

cd/work/sqlite

tarxvzf sqlite-3.6.17.tar.gz

l配置

//建立x86目录

mkdir sqlite_x86

//打开文件

cd sqlite-3.6.17

//配置sqlite

./configure --prefix=/work/sqlite/sqlite_x86 --disable-tcl

l编译

make

l安装

make install

l测试

当安装完成以后,安装文件会安装在/work/sqlite/sqlite_x86目录中,一种产生了,lib,include和bin三个文件夹,分别是库文件,头文件和可执行文件。

到这里是不是有点跃跃欲试了,是的,我们可以测试sqlite了,当文件安装后,我们可以直接通过安装好的sqlite3来实现。

cd sqlite_x86/bin

./sqlite3 test.db //打开或创建test.db数据库文件

create table test (ID integer primary key,value text); //创建表格和字段名

insert into test (value) values('hxl'); //添加一条数据

insert into test (value) values('sqlite'); //添加一条数据

insert into test (value) values('test'); //添加一条数据

insert into test (value) values('for'); //添加一条数据

insert into test (value) values('linux'); //添加一条数据

//到此数据库基本家里就完成了,来看看数据库里面的文件吧

.mode col

.headers on //打印出数据库的表头

select * from test; //显示数据库中的所有文件

.exit //退出

3.sqlite移植到arm

l配置

//建立x86目录

mkdir ../../sqlite_arm

//打开文件

cd ../../sqlite-3.6.17

//配置sqlite

./configure --prefix=/work/sqlite/sqlite_arm --disable-tcl —host=arm-linux

l编译

make

l安装

make install

l测试

当安装完成以后,安装文件会安装在/work/sqlite/sqlite_x86目录中,一种产生了,lib,include和bin三个文件夹,分别是库文件,头文件和可执行文件。

将lib中的文件复制到开发板的lib中,现在编写一个C文件test.c来驱动它。

static int callback(voID *NotUsed,int argc,char **argv,char **azColname)

{

int i;

for(i=0; i<argc; i++)

{

printf("%s = %s/n",azColname[i],argv[i] ? argv[i] : "NulL");

}

printf("/n");

return 0;

}

int main(int argc,char **argv)

{

sqlite3 *db;

char *zErrMsg = 0;

int rc;

if( argc!=3 )

{

fprintf(stderr,"Usage: %s DATABASE sql-STATEMENT/n",argv[0]);

}

rc = sqlite3_open(argv[1],&db);

if( rc )

{

fprintf(stderr,"Can't open database: %s/n",sqlite3_errmsg(db));

sqlite3_close(db);

}

rc = sqlite3_exec(db,argv[2],callback,&zErrMsg);

if( rc!=sqlITE_OK )

{

fprintf(stderr,"sql error: %s/n",zErrMsg);

}

sqlite3_close(db);

return 0;

}

上面的代码是sqlite官方的测试代码,虽然很简单但是也很强大,一般应用都够了,再了解一下sqlite的语法就可以实现强大的功能了,编译方法如下,在这里假设你已经安装好了arm-linux-gcc,我采用的是arm-linux-gcc-4.3.2,编译方法如下:

arm-linux-gcc -o test test.c -sqlite3 -L/work/sqlite/sqlite_arm/lib -I/work/sqlite/sqlite_arm/include

将数据库复制在当前文件夹,测试方法:

./test ./test test.db "select * from test;"

总结

以上是内存溢出为你收集整理的Sqlite 嵌入式数据库移植和使用全部内容,希望文章能够帮你解决Sqlite 嵌入式数据库移植和使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1183250.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存