SQLite3在ubuntu16.04中的安装和SQLite3在mini2440中的移植

SQLite3在ubuntu16.04中的安装和mini2440上移植

SQLite简介

SQLite是一款轻型数据库,包含在一个相对较小的C库中。是一个完全独立、不需要服务器、不需要配置、支持SQL的、开源的文件数据库引擎。

SQLite3下载

源代码下载地址:https://www.sqlite.org/download.html

可在此地址下载最新版本的SQLite3源代码如下图所示:

SQLite3在ubuntu16.04中的安装和SQLite3在mini2440中的移植_第1张图片

Ubuntu16.04中安装

把源代码压缩包拷贝到自定义的目录中进行解压,源码包如图

进入压缩包目录进行解压:$tar -xvzf sqlite-autoconf-3240000.tar.gz

解压完成之后会在本目录出现一个目录:sqlite-autoconf-3240000

进入目录:$cd sqlite-autoconf-3240000

执行命令:$./configure --prefix=/use/local

--prefix选项是用来指定自定义安装目录的

也可直接执行:$./configure 

在执行:$make

最后执行:$make install

在执行make install的时候有可能会出现权限不够问题,需要加上sudo。

等待安装完成。

SQLite3测试

安装完成之后在终端中输入:$sqlite3

SQLite3在ubuntu16.04中的安装和SQLite3在mini2440中的移植_第2张图片

在当前目标下创建一个student.db数据库:

$sqlite3 student.db

sqlite>create table user(name,id);

sqlite>insert into user values(‘zhangsan’,0001);

sqlite>select * from user;

zhangsan|1

sqlite>

安装成功~~~~~~~~~~~~~

 

mini2440中移植SQLite3

进入目录:$cd sqlite-autoconf-3240000

生成Makefile:$./configure --prefix=/use/local/sqlite --host=arm-linux

--prefix选项是用来指定自定义安装目录的 

--host指定平台即ARM

在执行:$make

最后执行:$make install

执行完成后会生成四个目录如下所示:

bin中是sqlite3命令;

include中是头文件;

lib中是库文件;

share中是一个脚本文件

在开发板的根目录下的/opt下创建一个sqlite3的目录

$mkdir sqlite3

将四个文件夹都复制到其中

$sudo cp bin/ include/ lib/ share/ -r /root_path/opt/sqlite3

/root_path是自己开发板的根文件目录 

在开发板中添加环境变量/etc/profile

把/opt/sqlite3/bin添加到环境变量中,或者直接把bin下边的sqlite3命令拷贝到根目录下的/bin中

把/opt/sqlite3/lib添加到环境变量中,或者直接把下边的库文件拷贝到根目录下的/lib中

编写代码测试:

/*sqlite3.c*/

#include 

#include 

#include 

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]);

}

printf("\n");

return 0;

}

 

int main(int argc,char **argv)

{

sqlite3 *db;

char *message = 0;

int rc;

if(argc!=3)

{

fprintf(stderr,"Usage:%s DATABASE SQL-STARTEMENT\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,0,&message);

if(rc!=SQLITE_OK)

{

fprintf(stderr,"SQL error:%s\n",message);

}

sqlite3_close(db);

return 0;

}

编译程序:

$ arm-linux-gcc sqlite3.c -o sqlite_test -I ./include/ -L ./lib/ -lsqlite3

把sqlite_test传入开发板中执行如图所示:

SQLite3在ubuntu16.04中的安装和SQLite3在mini2440中的移植_第3张图片

 

注意:在配置环境变量的时候容易出错,会提示库找不到等信息,出错是需根据具体信息进行分析

 

 

 

 

 

你可能感兴趣的:(数据库,Linux驱动)