sqlite3在mini2440上的移植

2021-05-25 07:18:02 字數 3491 閱讀 7021

、開發環境:

mini2440

, linux-2.6.32.2

核心,

ubuntu9.10

, arm-linux-gcc-4.3.2 在

sqlite源代

碼 二、移植步驟 1.

解壓資料庫原始檔並進入解壓後的目錄,如下:

tar -zxvf sqlite-3.6.22.tar.gz

cd sqlite-3.6.22

2.建立乙個目錄

build

並進入該目錄,用於在這個目錄中進行交叉編譯,如下:

mkdir build

cd build

3.在 build

目錄中執行

sqlite-3.6.22

中的 configure

指令碼生成

makefile

檔案,如下:

../configure --host=arm-linux --prefix=/root/sqlite-3.6.22/build/target

選項host

指定的是用

arm交叉編譯器進行編譯 選項

prefix

後面的路徑是到時候編譯安裝後目標存放的目錄,你可以任意設定

4.執行

make

和 make install

命令,如下:

make

如果出現arm-none-linux-gnueabi-gcc: 3.7.6.2": no such file or directory

: warning: missing terminating " character

make: *** [sqlite3.lo] 錯誤 1

則修改makefile中的

-dpackage_string=/"sqlite 3.7.6.2/" 把sqlite和3.7.6.2中間的空格去掉

make install

編譯和安裝完後,在

/root/sqlite-3.6.22/build/target

目錄中會生成三個目標資料夾,分別是:

bin、 include、

lib,然後分別將

bin/usr/bin

目錄中,

lib/usr/lib

目錄中即可。

include

目錄下是

sqlite的 c

語言 api

的標頭檔案,程式設計時會用到。 5.

在開發板上測試移植的

sqlite

資料庫。登入開發板的

linux

,執行:

sqlite3 demo.db

sqlite3

是乙個 sqlite

的命令列訪問程式,

demo.db

是新建的資料庫的名字,必須以

db作字尾。然後會看到下面的畫面,說明移植成功。

三、測試

1 、新建資料庫

[rootmrfeng]#sqlite3 test.db

sqlite version 3.6.18

enter ".help" for instructions

enter sql statements terminated with a ";"

sqlite> create table film (number,name);

sqlite> insert into film values (1,'aaa');

sqlite> insert into film values (2,'bbb');

sqlite> select * from film;

1|aaa

2|bbb

sqlite>.quit

[rootmrfeng]#

藍色部分為輸入。

2 、測試程式

這裡以sqlite

官方站點

的quick start

文件中的測試程式為例對移植到arm

-linux

上的sqlite3

進行測試。該程式清單如下:

//test_sqlite.c

#include

#include

#include

static int callback(void *notused, int argc, char **argv, char **azcolname)

printf("/n");

return 0;

}int main(int argc, char **argv)

rc = sqlite3_open(argv[1], &db);

if( rc )

rc = sqlite3_exec(db, argv[2], callback, 0, &zerrmsg);

if( rc!=sqlite_ok )

sqlite3_close(db);

return 0;}

使用如下命令編譯測試程式:

交叉編譯時採用arm-linux-gcc -i /……

(安裝路徑)/include -l/……(

安裝路徑)/lib -o target src -lsqlite3

arm-linux-gcc -o test_sqlite test_sqlite.c -lsqlite3 -l /opt/friendlyarm/mini2440/sqlite-3.7.3/build/lib/ -i /opt/friendlyarm/mini2440/sqlite-3.7.3/build/include/

3 、在上面新建的資料庫目錄下測試:

[rootmrfeng]#./test_sqlite   test.db   "select * from film"

number = 1

name = aaa

number = 2

name = bbb

[rootmrfeng]#

1)建立資料庫檔案:

>sqlite3 test.db 回車

就生成了乙個test.db在d盤。

這樣同時也sqlite3掛上了這個test.db

2) 用.help可以看看有什麼命令

>.help 回車即可

3)可以在這裡直接輸入sql語句建立** 用;結束,然後回車就可以看到了

4)看看有建立了多少表

>.tables

5)看表結構

>.schema 表名

6)看看目前掛的資料庫

>.database

7)如果要把查詢輸出到檔案

>.output 檔名

> 查詢語句;

查詢結果就輸出到了檔案c:/query.txt

把查詢結果用螢幕輸出

>.output stdout

8)把錶結構輸出,同時索引也會輸出

.dump 表名

9)退出

>.exit 或者.quit

使用sqlite3 模組操作sqlite3資料庫

python內建了sqlite3模組,可以操作流行的嵌入式資料庫sqlite3。如果看了我前面的使用 pymysql 操作mysql資料庫這篇文章就更簡單了。因為它們都遵循pep 249,所以操作方法幾乎相同。廢話就不多說了,直接看 吧。都差不多,首先匯入模組,然後建立連線,然後獲取游標物件,之後利...

在arm上測試sqlite3

這裡以sqlite官方站點http sqlite.org 的quick start文件中的測試程式為例對移植到arm linux上的sqlite3進行測試。該程式清單如下 1 include 2 include sqlite3.h 3 4 static int 5 callback void not...

在MFC中支援sqlite3

建立mfc工程的步驟我就不贅述了,以下操作均假設你已經建立好了乙個mfc工程 測試環境 windows7 編譯環境 visual studio 2015 新增步驟 2 解壓,將common 資料夾中的cppsqlite3.cpp cppsqlite3.h sqlite3.dll sqlite3.li...