Sqlite移植到ARM开发板
Sqlite3.3.8移植
1、下载sqlite-3.3.8.tar.gz源码包,解压tar –zxvf sqlite-3.3.8.tar.gz
2、Cd sqlite-3.3.8
3、手动修改makefile 文件,目录下有一个makefile案例文件: Makefile.linux-gcc
4、重命名一个Makefile文件,cp Makefile.linux-gcc Makefile
5、 打开Makefile文件:vi Makefile
6、 首先找到Makefile文件中的下面这样一行:
TOP = ../sqlite
将其修改为:
TOP = .
找到下面这样一行:
TCC = gcc -O6
将其修改为:
TCC = /usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-gcc -O6
找到下面这样一行:
AR = ar cr
将其修改为:
AR = /usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-ar cr
找到下面这样一行:
RANLIB = ranlib
将其修改为:
RANLIB = /usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-ranlib
找到下面这样一行:
MKSHLIB = gcc -shared
将其修改为:
MKSHLIB = /usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-gcc -shared
注释掉下面这一行:
TCL_FLAGS = -I/home/drh/tcltk/8.4linux
注释掉下面这一行:
LIBTCL = /home/drh/tcltk/8.4linux/libtcl8.4g.a -lm –ldl
注意:在Makefile的上面有一个BCC,这里就不要修改成交叉编译链,这里生成的文件需要是gcc编译的。
原则上,对Makefile的修改主要包括两个方面:首先是将编译器、归档工具等换成交叉工具链中的对应工具,比如,gcc换成/usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-gcc,ar换成/usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi- ar,ranlib换成/usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-ranlib等等;其次是去掉与TCL相关的编译选项,因为默认情况下,将会编译SQLite3的Tcl语言绑定,但是在移植到ARM-Linux的时候并不需要,因此将两个与TCL有关的行注释掉。7、接下来,还需要修改的一个的文件是main.mk,因为Makefile包含了这个文件。找到这个文件中的下面一行:63行: select.o table.o tclsqlite.o tokenize.o trigger.o \,去掉tclsqlite.o这样编译的时候将不会编译SQLite3的Tcl语言绑定。
7、执行make,执行make后可能会出现以下错误:
8、./lemon -DSQLITE_OMIT_CURSOR parse.y
9、./lemon: ./lemon: cannot execute binary file
10、  
相关文档:
.help 显示帮助信息
.import FILE TABLE 把文件中的数据导入到表中,各字段用separator(默认是"|")的值为分隔符,下面我们举个例子。 我们在F盘下建一个data.txt文件,内容如下:
4|开源
5|技术
.import命令操作如下:
sqlite> .import data.txt websites
sqlite>
查看结果如下:
sqlite> select * from ......
搞定了一个困扰许久的问题,原来sqlite中的主键也是可以设置为自增的:)方法就是声明为 INTEGER PRIMARY KEY 的字段可以自动增加。
网上查到资料说,从 SQLite 的 2.3.4 版本开始,如果将一个表中的一个字段声明为 INTEGER PRIMARY KEY,那么只需向该表的该字段插入一个 NULL 值, ......
一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite具有以下五种数据类型:
1.NULL:空值。
2.INTEGER:带符号的整型,具体取决有存入数字的范围大小。
3.REAL:浮点数字,存储为8-byte IEEE浮点数。
4.TEXT:字符串文本。
5.BLOB:二进制对象。
转自:http://www.cnblo ......
SQLite数据库的体系结构(翻译自sqlite.org)
1 简介
本文档描述了SQLite库的体系结构,这些信息对那些想理解和修改SQLite的内部工作机制的人是有用的。
本文档描述SQLite 3.0版本,2.8版或更早期的版本与此相似,只是细节上有所不同。
2 接口
......