extremedb是开源的吗_最简单的数据库开发软件

extremedb是开源的吗_最简单的数据库开发软件最近我接触了嵌入式数据库eXtremeDB,由于这方面资料很少,网上的参考资料都大同小异,只靠着软件本身提供的参考文档进行开发,所以刚开始开发有些困难。故将基本的用法整理一下。关于eXtremeDB的特性,这里就不阐述了,直接从开发开始。下面以简单的模板为例进行阐述。1.构建.mco文件打开记事本,然后另存为XX.mco后缀文件。.mco文件里面需要定义数据库所需的字段类型,名称等,…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

最近我接触了嵌入式数据库eXtremeDB,由于这方面资料很少,网上的参考资料都大同小异,只靠着软件本身提供的参考文档进行开发,所以刚开始开发有些困难。故将基本的用法整理一下。

关于eXtremeDB的特性,这里就不阐述了,直接从开发开始。下面以简单的模板为例进行阐述。

1. 构建.mco文件

打开记事本,然后另存为XX.mco后缀文件。.mco文件里面需要定义数据库所需的字段类型,名称等,里面可以定义结构体,矢量等。

#define int1 signed<1>                         // 这是对数据格式的声明
#define int2 signed<2>
#define int4 signed<4>
#define uint1 unsigned<1>
#define uint2 unsigned<2>
#define uint4 unsigned<4>
#define uint8 unsigned<8>

declare database testdb;                       // 声明数据库名称为testdb
struct speed {
  float x;
  float y;  
};
persistent class Msg                // 由于建立的数据库要存储在磁盘上,故设置为persistent
{
    autoid[10000];                             // 自动定义id
    vector<speed> acSpeed;             // 以speed结构体为类型定义vector
    uint2 testState;
    double  meter;
    float  testRate;
    char <100> testInfo;
    uint8 timeStamp;
    tree<TimeStamp> tTimeStamp;          // 以时间戳 建立树索引,以便后续的查询,这里面也可以设置hash,list 等
};                            // 注意后面的分号";"不要落下

 

2. 生成.c .h文件

由于上述数据库声明为testdb,故利用DDL处理器会生成 testdb.c testdb.h文件。

将该XX.mco文件放在eXtremeDB文件目录下的\host\bin,然后打开dos,运行  mcocomp.exe -x32 -hpp  XX.mco,会自动生成testdb.c testdb.h testdb.hpp 文件。

 

3. 添加进项目

1)将生成的testdb.h testdb.c 添加到 项目工程中;

2)然后将extremeDB文件夹下的include路径添加到该项目的path中。

3)如果该数据库代码是运行到嵌入式开发板上的,还需要在项目中添加extremeDB的.a文件,即extremeDB文件下的/target/bin/PENTIUM4gnu/下的.a文件

 

4.根据需求进行数据库开发

1) 初始化数据库:主要对数据库进行相关配置并建立连接,其中涉及到的函数如下:

mco_db_params_init()  //对参数按照默认值进行初始化
mco_db_open_dev()     //根据给定参数,打开已配置好的数据库
mco_db_connect()      //连接数据库

2) 插入数据:

mco_trans_start()      //开启事务,插入,删除,查询,都要在事务里进行
Msg_new()              //新建数据库元素,Msg是上面定义的数据库表名
Msg_testState_put()    //将数据放入到指定元素汇总
Msg_acSpeed_alloc()    //设置vector元素个数
Msg_acSpeed_put()      //获取第n个位置的元素地址
speed_x_put()          //设置x值
speed_y_put()          //设置y值
mco_trans_commit()     //提交事务

3) 查询数据:

根据建立的索引,建立游标进行查询

4) 删除数据:

根据建立的索引,找到指定数据(里面提供了search find),然后delete删除

5)关闭数据库:

mco_db_disconnect()  //断开连接
mco_db_close()       //关闭数据库

 

转载于:https://www.cnblogs.com/ycbeginner/p/9398783.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182160.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月14日 上午10:00
下一篇 2022年10月14日 上午10:00


相关推荐

  • 共享打印机无法连接打印,错误代码0x0000011b_打印机共享错误0x000001

    共享打印机无法连接打印,错误代码0x0000011b_打印机共享错误0x000001WIndows无法连接共享打印机,错误码:0x0000011bWin10电脑1直连的打印机,设备了共享。从另一个电脑2访问电脑1的共享打印机,连接提示错误0x0000011b,如下:经询问使用人,之前电脑2是可以正常连接到电脑1的共享打印机的,只是最近几天突然连接失败了。后得知电脑1最近有更新过系统补丁。经排查,通过卸载KB5005565补丁,重启电脑1后,电脑2成功连接到共享打印机,测试打印正常。处理过程:1.打开控制面板-程序-程序和功能-已安装更新。找到对应的KB5005565补丁,右

    2025年10月21日
    5
  • c++程序设计基础(第五版)(上) 习题与解答

    c++程序设计基础(第五版)(上) 习题与解答习题与解答C++程序设计基础(第5版)(上)习题与解答第1章练习题同步练习1.1一、选择题1.一个最简单的C++程序,可以只有一个()。(A)库函数 (B)自定义函数 (C)main函数 (D)空函数2.函数名是(),用于识别和调用函数。(A)关键字 (B)标识符 (C)常数 (D)语句3.用C++语言编写的源程序要成为目标程序必须要经过()…

    2022年4月28日
    99
  • python解释器与编译器_pycharm python解释器

    python解释器与编译器_pycharm python解释器第一部分Python语言基础第一节课Python简介以及Python和Pycharm安装和配置知识点:1、Python简介什么是Python?Python的起源和发展。Python的优势。2、为什么要用PythonPython和其它语言有什么不一样的地方。3、Python和Pycharm安装部署(重)内容:1、Python1)什么是Pytho…

    2022年8月27日
    5
  • JS判断数据类型的方法有哪些_c语言数据类型

    JS判断数据类型的方法有哪些_c语言数据类型javascript判断数据类型的方法

    2025年9月17日
    8
  • oracle的executereader,OracleCommand.ExecuteReader 方法 (System.Data.OracleClient) | Microsoft Docs…

    oracle的executereader,OracleCommand.ExecuteReader 方法 (System.Data.OracleClient) | Microsoft Docs…public:System::Data::OracleClient::OracleDataReader^ExecuteReader(System::Data::CommandBehaviorbehavior);publicSystem.Data.OracleClient.OracleDataReaderExecuteReader(System.Data.CommandBehavior…

    2022年6月20日
    30
  • java 初始化数组_Java中数组的初始化

    java 初始化数组_Java中数组的初始化一 什么是初始化在 Java 程序开发中 使用数组之前都会对其进行初始化 这是因为数组是引用类型 声明数组只是声明一个引用类型的变量 并不是数组对象本身 只要让数组变量指向有效的数组对象 程序中就可使用该数组变量来访问数组元素 所谓数组初始化就是让数组名指向数组对象的过程 该过程主要分为两个步骤 一是对数组对象进行初始化 即为数组中的元素分配内存空间和赋值 二是对数组名进行初始化 即为数组名赋值为数组

    2026年3月26日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号