zoukankan      html  css  js  c++  java
  • 【ARM-Linux开发】嵌入式操作系统上的小型数据库移植SQLite

    近段时间在学数据库,因为自身需求,所以注重研究了点嵌入式sqlite数据库,SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。

    自我感觉用起来很high的...

    就不扯了,下面言归正传:

    下面就将sqlite移植到ARM开发板上的具体步骤贴下来,在移植之前首先需要做的工作一是搭建PC端与ARM端数据共享机制,关于这个的方法很多,我在之前的文章中也就nfs共享的具体步骤做过详细的说明,这里就不在累赘了。二是搭建交叉编译环境;检测本机是否已经安装交叉编译环境可在终端中键入#arm-linux-gcc -v进行查看

    获取sqlite源码包,源码包可到www.sqlite.org官方网站下载,我在此使用的是sqlite-3.6.18.tar.gz
    1.将sqlite-3.6.18.tar.gz解压到/home目录下,并在sqlite-3.6.18目录下建立sqlite-arm-linux目录
    #cd /home/sqlite-3.6.18
    #mkdir sqlite-arm-linux

    2.首先备份configure文件 
    #cp configure configure.old
    3.修改configure文件,
    #./configure --host=arm-linux --disable-tcl --prefix=/home/sqlite-3.6.18/sqlite-arm-linux/
    4.修改Makefile文件
    BBC = gcc -g -O2 
    5.编译并安装
    #make && make install
    6.为了减小执行文件大小,可用strip处理,去掉其中的调试信息
    #cd /home/sqlite-3.6.18/sqlite-arm-linux/bin
    #arm-linux-strip sqlite3
    7.而后进行移植
    对库的拷贝时要加上-arf选项,因为libsqlite3.so, libsqlite3.so.0是链接到libsqlite3.so.0.8.6的
    #cd /home/sqlite-3.6.18/sqlite-arm-linux/lib
    #cp -arf libsqlite3.so, libsqlite3.so.0, libsqlite3.so.0.8.6 /usr/yang(共享目录)
    #cd /home/sqlite-3.6.18/sqlite-arm-linux/bin
    #cp sqlite3 /usr/yang(共享目录)
    8.在开发板终端中将三个库文件拷贝到其库中,而后即可使用sqlite了。

    但要提醒一点的就是,sqlite跟MySQL....有点不一样哟..
    我刚开始玩的时候首先就输入了show databases;结果让我很揪心,所以在大家用sqlite之前还是建议先学好用法.

    我相信你会在嵌入式数据库中玩的很high的....

  • 相关阅读:
    MyBatis(十)插件开发 之 插件运行原理
    通用Mapper(二)使用通用 Mapper
    通用Mapper(十四)通用Mapper接口大全
    通用Mapper(十三)通用Mapper原理
    通用Mapper(十二)通用Mapper配置项
    通用Mapper(十)二级缓存
    通用Mapper(九)通用 Mapper 接口扩展
    Linux安装与部署SonarQube
    Sonarqube分析代码并导出PDF分析报告
    SVN update失败,cleanup后再update
  • 原文地址:https://www.cnblogs.com/huty/p/8517452.html
Copyright © 2011-2022 走看看