先准备好SQLite源码。从SQLite官方网站http://www.sqlite.org/sqlite-amalgamation-3.5.9.tar.gz下载sqlite-amalgamation-3.5.9.tar.gz文件。
解压缩sqlite-amalgamation-3.5.9.tar.gz
tar zxvf sqlite-amalgamation-3.5.9.tar.gz |
进入sqlite目录:
cd sqlite-amalgamation-3.5.9 |
配置:
./configure |
编译:
make |
安装:
make install |
复制libsqlite3.so.0共享库:
[root@vm-dev test]# cp/usr/local/lib/libsqlite3.so.0 /usr/lib/
命令行方式访问数据库
1. sqlite3启动
启动sqlite3程序,仅仅需要敲入带有SQLite数据库名字的“sqlite3”命令即可。如果文件不存在,则创建一个新的(数据库)文件。例如,打开名字为“ex1”的SQLite数据库,在终端输入以下命令:
sqlite3 ex1 |
然后sqlite3程序将提示你输入sqlite命令。
SQLite version 3.5.9 Enter ".help" for instructions sqlite> |
2. 数据库管理命令
在sqlite提示符下可以输入SQL语句对数据库进行操作和管理。例如,对上述创建或打开的ex1进行如下操作:
sqlite> create table tbl1(one varchar(10), two smallint); sqlite> insert into tbl1 values('hello!', 10); sqlite> insert into tbl1 values('goodbye', 20); sqlite> select * from tbl1; hello!|10 goodbye|20 sqlite> |
(1) 建立sqlite_test.c文件,内容如上。
(2) 编译sqlite_test.c文件:
gcc -I /usr/local/include -L /usr/local/lib -o sqlite_test sqlite_test.c -lsqlite3 |
生成sqlite_test的应用程序。
[root@vm-dev test]# ./sqlite_test xyz.db "create tablet bl0(name varchar(10), number smallint);"
|
下面是测试sqlite_test程序的完整过程:
[root@vm-dev test]#./sqlite_test xyz.db "create table tbl0(name varchar(10), number smallint);" [root@vm-dev test]#./sqlite_test xyz.db "insert into tbl0 values('cyc', 1);" [root@vm-dev test]#./sqlite_test xyz.db "insert into tbl0 values('dzy', 2);" [root@vm-dev test]#./sqlite_test xyz.db "select * from tbl0;" name = cyc number = 1
name = dzy number = 2
|
一.SQLite的交叉编译(在pc机上):
1. 建立/up-techpxa270/sqlite/forarm目录:
mkdir /up-techpxa270/sqlite/forarm
2. 解压缩安装包:
tar zxvf sqlite-amalgamation-3.5.9.tar.gz-C /up-techpxa270/sqlite/forarm
3. 进入解压路径:
cd /up-techpxa270/sqlite/forarm/sqlite-amalgamation-3.5.9
4. 建立/up-techpxa270/sqlite/forarm/sqlite_install目录:
mkdir /up-techpxa270/sqlite/forarm/sqlite_install
5. 配置安装文件
./configure --host=arm-linux--prefix=/up-techpxa270/sqlite/forarm/sqlite_install
6. 编译安装
make
make install
二.应用程序的编译运行
在pc上交叉编译应用程序:
1. 把原文件sqlite_test.c置于目录:
/up-techpxa270/sqlite/forarm
2. 交叉编译:
arm-linux-gcc -I/up-techpxa270/sqlite/forarm/sqlite_install/include/ -L /up-techpxa270/sqlite/forarm/sqlite_install/lib/-o sqlite_test sqlite_test.c -lsqlite3
在目标机上:
1. 设置环境变量:
[root@forarm]# LD_LIBRARY_PATH=/mnt/nfs/sqlite/forarm/sqlite_install/lib:$LD_LIBRARY_PATH
2. 进入相应目录:
cd /mnt/nfs/sqlite/forarm
3. 执行:
[root@forarm]#./sqlite_test xyz.db "createtable tbl0(name varchar(10), number smallint);"
[root@forarm]#./sqlite_test xyz.db"insert into tbl0 values('cyc', 3);"
[root@forarm]#./sqlite_test xyz.db"insert into tbl0 values('dzy', 5);"
[root@forarm]#./sqlite_test xyz.db"select * from tbl0;"