- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
SQLite嵌入式数据库系统的研究与实现
2.2 SQLite开发技术
SQLite的API易于使用,只需要3个用来执行SQL和获得数据的函数。它还是可扩展的,允许程序员自定义函数,然后通过callback()函数集合进去。开放源码团体已经扩展了众多的客户接口、适配器、驱动等,这就使得其他语言使用SQLite也成为可能。
使用C语言API只需要三步。首先,提供文件名和访问模式,来调用sqlite_open()连接数据库。然后,执行callback()函数,SQLite通过对每个记录执行callback()函数获得从数据库那里得到的结果。最后,如果想执行一个SQL查询并获得一个 callback()函数的指针,可以调用sqlite_exec()。另外还可以调用sqlite3_get_table()函数获得数据表单的内容。
SQLite还提供了存取二进制大对象(BLOB)的方法,同时在线程安全、数据库管理、API的扩展等方面也都提供了强大方便的技术支持。
3 SQLite在ARM9开发板上的编译及拷贝
在SQLite官方网www.sqlite.org下载SQLite-3.3.8版本,在终端解压生成SQLite-3.3.8目录。进入此目录,对 sqlite/src/sqliteInt.h作一定的修改,以确保^ree(B树)有正确的变量大小。不同体系结构的Linux会有些差别。对于 ARM-Linux可找到如下部分:

这样后面的"typedef INTPTR_TYPE ptr;"就定义为"int"类型,而不是"long long"。
修改configure文件的内容,注释掉相关代码,让系统不去检查交叉编译环境,否则会出现错误,不能生成Makefile文件。然后新建一个文件夹sqlite-arm-linux来保存将要生成的库文件,运行以下命令进行配置:

将在本目录下生成Makefile文件。修改Makefile文件中如下语句,指定主机编译器为GCC:

这时就可以运行make & & make install命令开始编译,若无其他错误提示,则会在/../sqlite-3.3.8/sqlite-arm-linux/lib目录下生成库文件。主要有libsqlite3.so、libsqlite3.so.O、libsqlite3.so.O.8.6三个文件。同时在bin文件夹下生成了可执行文件sqlite3。为了减小执行文件大小,用strip命令处理去掉其中的调试信息。
库文件生成后,可以通过NFS(网络文件系统)把相关库文件拷贝到ARM开发板上,设置好主机NFS服务器,启动目标板后,执行:

其中192.168.1.101为NFS服务器IP,这样就把sqlite库文件所在文件夹挂载到了目标板上,拷贝时注意加上-arf选项,因为 libsqlite3.so和libsqlite3.so.O是链接到Iibsqlite3.so.O.8.6的。
上一篇:全集成设计环境下的视频处理系统开发
下一篇:系统级芯片设计语言和验证语言的发展


