在虚拟机中搭建SQLITE环境,并测试其是否安装成

简介:

1.下载压缩包后解压sqlite-3.6.3tar.gz到/home目录下

复制代码
tar -zxvf sqlite-3.6.3tar.gz -C /home

cd /home/

mkdir sqlite-ix86-linux/

cd /home/sqlite-ix86-linux/

/sqlite-3.6.3/configure --prefix=/home/sqlite-ix86-linux/
复制代码

其中--prefix=/home/sqlite-ix86-linux/的意思是将configure是用来进行用户个性配置的工具, 一般- -开头的说明的是需要配置的选项,--prefix就是说软件额安装目录设置在哪里,后面的=/usr就是你给出的安装目录,当然你完全可以换一个目录。

2.编译并安装,然后生成帮助文档

Make && make install && make doc

3.此时库文件已经生成在/home/sqlite-ix86-linux/lib目录下

可执行文件sqlite3已经生成在/home/sqlite-ix86-linux/bin目录下

4.测试编译安装是否成功

在命令行直接输入:/home/sqlite-ix86-linux/bin/sqlite3 test.db

当我们运行完这一句的时候,test.db会存在于当前的目录下。查看当前目录的命令pwd。

clip_image002_thumb

出现了SQLITE的版本号即其他信息,并且数据库test.db创建成功,表明编译安装已经成功

5.在程序中操作数据库

注:我的程序是在KDevelop中开发的。如果出现编译不通过的问题,请查看下文可能出现的问题。

复制代码
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <stdio.h>
#include <stdlib.h>

#include <sqlite3.h>
int main()
{
    sqlite3 *db=NULL;
    char *zErrMsg=0,*sql=NULL;
    int rc;
        //char *sql;
    rc=sqlite3_open("test.db",&db);
    if(rc)
    {
    fprintf(stderr,"can't open database:%s\n",sqlite3_errmsg(db));
    sqlite3_close(db);
    return 0;
    }
    else printf("you have opend a selite3 database3 named test.db successfully!\ncongraturations! have fun!\n");
    sqlite3_exec(db,sql,0,0,&zErrMsg);

    //创建一个表,如果该表存在,则不创建,并给出提示信息,存储在 zErrMsg 中
    sql = "CREATE TABLE SensorData(\
    ID INTEGER PRIMARY KEY,\
    SensorID INTEGER,\
    SiteNum INTEGER, \
    Time VARCHAR(12), \
    SensorParameter REAL \
    );";
    sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
    printf("ErrorMsg:%s",zErrMsg);
    //插入数据 
    sql = "INSERT INTO \"SensorData\" VALUES( NULL , 1 , 1 , '201205011206', 18.9 );" ;
    sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
    
    sql = "INSERT INTO \"SensorData\" VALUES( NULL , 1 , 1 , '201205011306', 16.4 );" ;
    sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
    sqlite3_close(db);
    return 0;
}
复制代码

运行完以下代码后,我们就可以在

你的工程目录/程序目录/debug/src/中看到test.db这个文件了。

image_thumb[5]

下面让我们输入一些命令看看表中的数据

image_thumb[4]

 

可能出现的错误:

1、用KDevelop编译的时候总是会出现错误,如下所示

提示如下错误: main.o(.text+0x9b):main.cpp: undefined reference to `sqlite3_open' 
main.o(.text+0xcb):main.cpp: undefined reference to `sqlite3_exec' 
main.o(.text+0xda):main.cpp: undefined reference to `sqlite3_close' 
main.o(.text+0x10d):main.cpp: undefined reference to `sqlite3_close' 
main.o(.text+0x14b):main.cpp: undefined reference to `sqlite3_errmsg' 
main.o(.text+0x173):main.cpp: undefined reference to `sqlite3_close' 明显示找不到lib库文件,

解决方法:在Kdevelop中添加SQLite的静态链接库

具体步骤: 
Kdevlop的project options->配置选项->C程序->编译器标志中写入如下参数: 
-L/home/sqlite-ix86-linux/lib -lsqlite3

其中/home/sqlite-ix86-linux/是你sqlite的安装目录。如果还不清楚,请参照下图操作

image_thumb

图1 打开project options

image

图2 设置编译器标志

 image
 


2、sqlite3如何退出...>状态,你会了吗?

一般是进入SQL数据语言模式了,此时要想退出…>状态,只要输入一条完整的SQL语句就行了,也就是末尾要加上;(分号)这个符号就可以退回到sqlite>状态

3、sqlite不会把附加过的数据库文件统一管理。
习惯了使用SQL Server Management Studio了,在SQL Server Management Studio中当数据库被附加过了,那么我们就可以通过SQL Server Management Studio进行管理,而不必每次使用,每次都进行附加。但是在sqlite中,附加过的数据库不会在sqlite中存有什么记录,如果要再次管理某个数据库,你需要再次运行sqlite3 数据库名,才能进行数据库的操作。这一点很重要,之前我就在这个地方困惑了很久。


参考连接

./configure --prefix=/usr 什么意思

Linux环境变量的设置和查看方法


作者:kissazi2 
出处:http://www.cnblogs.com/kissazi2/ 
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载:http://www.cnblogs.com/kissazi2/archive/2013/06/14/3135222.html

目录
相关文章
|
2月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
1054 2
|
1月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
109 5
|
4月前
|
编解码 网络协议 网络安全
OpenWrt x86 虚拟机VMware ESXi安装
OpenWrt x86 虚拟机VMware ESXi安装
|
8月前
|
缓存 Linux 调度
【YashanDB数据库】VMware虚拟机使用默认安装,在掉电之后数据库无法启动
VMware虚拟机使用默认安装,在掉电之后数据库无法启动
|
8月前
|
IDE 测试技术 数据库
【YashanDB知识库】使用vmware虚拟机安装的YashanDB,本机无法访问
在 VMware 虚拟机中安装并测试 YashanDB,数据库及虚拟机运行正常,但本地 IDE 工具无法连接虚拟机中的数据库。问题可能与 VMware 网络适配器配置或网络模式(如 NAT、桥接)有关,导致网络通信异常。需检查虚拟机网络设置、IP 地址配置以及防火墙规则,确保本地与虚拟机间网络连通性。目前无明确修复版本。
|
6月前
|
人工智能 安全 虚拟化
企业级Win11纯净部署指南|VMware虚拟机安装+GPT分区优化+绕过限制详解(小白必看)
Windows 11 是微软推出的新一代操作系统,以其直观交互和 AI 技术为核心升级亮点。界面采用圆角设计与居中任务栏布局,支持多窗口贴靠分屏、虚拟桌面功能,大幅提升多任务处理效率。系统深度集成了 Copilot 智能助手,提供语音写作、照片编辑等便捷功能,并通过 DirectStorage 和 DirectX 12 Ultimate 技术优化游戏体验。本文详细介绍 Windows 11 的下载、U盘制作及安装步骤,帮助用户快速上手全新系统。
617 37
|
Ubuntu Shell 网络安全
安装了ubuntu虚拟机后发现shell无法连接 ubuntu开启ssh连接
【8月更文挑战第23天】安装了ubuntu虚拟机后发现shell无法连接
1320 6
|
9月前
|
存储 编解码 虚拟化
【2025最新】VMware Workstation Pro 虚拟机配置与安装VMware Tools 感受它的强大~
VMware Tools 是 VMware 虚拟机中自带的一种增强工具,能够显著提升虚拟机的性能和用户体验。它提供了优化的显卡驱动程序、文件共享与拖放功能、时间同步以及跨虚拟机和宿主机的复制粘贴功能。安装 VMware Tools 可以让虚拟机在 VMware 平台上运行得更加高效,并且对于老旧系统(如 Win98、Win2000、WinXP)也能提供必要的驱动支持。每个虚拟机都需要独立安装与其操作系统版本相匹配的 VMware Tools,以确保最佳兼容性和性能表现。
1032 6
【2025最新】VMware Workstation Pro 虚拟机配置与安装VMware Tools 感受它的强大~
|
9月前
|
Web App开发 安全 Linux
【独家揭秘2025】VMware Workstation Pro虚拟机:免费安装教程大放送,一键解锁操作系统模拟神器!
VMware Workstation Pro 是由威睿(VMware)公司开发的一款功能强大的桌面虚拟化软件,允许用户在同一台物理计算机上同时运行多个操作系统,如Windows、..
801 2
【独家揭秘2025】VMware Workstation Pro虚拟机:免费安装教程大放送,一键解锁操作系统模拟神器!
|
8月前
|
IDE 测试技术 网络安全
【YashanDB知识库】使用vmware虚拟机安装的YashanDB,本机无法访问
【YashanDB知识库】使用vmware虚拟机安装的YashanDB,本机无法访问