当前位置:首页 > Database > QuestDB > 正文内容

QuestDB数据库:C++基本使用

新手程序猿小贺3个月前 (08-18)QuestDB99

QuestDB 支持 C 和 C++ 编程语言。

要想使用C++链接使用数据库,你的电脑需要:1. Rust 1.61或者更新版本  2. C++17编译器  3.  CMake 3.15 或更新版本。

在你已经安装并编译好QuestDB数据库(https://github.com/questdb/questdb),你还需要下载C++所需要的依赖项(https://github.com/questdb/c-questdb-client),下载好文件后,make编译一下文件。

#include <questdb/ingress/line_sender.hpp>

使用前需要包含这个头文件,注意的是想编译运行前,你需要链接一个libquestdb_client.so的共享库文件,不然会报 “error: ld returned 1 exit status”这样的错误,其实写代码报这种错几乎都是缺少共享库,然后编译器找不到你使用的函数。

export LD_LIBRARY_PATH=/home/hejiahao/QuestDB/c-questdb-client-main/examples:$LD_LIBRARY_PATH

这一步是为了让程序在编译时能够找到 libquestdb_client.so 这个共享库文件,并且在运行时系统找到它。所以要将库文件的路径添加到系统的库搜索路径中。

#include <iostream>
#include <questdb/ingress/line_sender.hpp>
#include <chrono>
int main()
{
    auto sender = questdb::ingress::line_sender::from_conf(
        "http::addr=localhost:9000;");  //链接数据库
    questdb::ingress::line_sender_buffer buffer;
    buffer
    .table("room_controls")
    
    .symbol("channel_id","12819")
    .symbol("smpl_time","2024-07-01 17:09:15")
    .column("nanosecs", "219")
    .column("severity_id","5")
    .column("status_id","3")
    .column("num_val","1")
    .column("float_val","-206.442")
    .column("str_val","NULL")
    .column("datatype","NULL")
    .column("array_val", "NULL")
    .at(questdb::ingress::timestamp_nanos::now());
    
    // To insert more records, call `buffer.table(..)...` again.
    
    sender.flush(buffer);
    return 0;
}

然后根据一个项目简单写一个示例。运行一下,如图所示:

1723990940609.png






















再简单做个查询操作:

7be98aad2f41b794c2575fe92d94946.png

扫描二维码推送至手机访问。

版权声明:本文由控制系统发布,如需转载请注明出处。

本文链接:http://cim-cs.com/?id=17

分享给朋友:
返回列表

上一篇:QuestDB的安装与测试

没有最新的文章了...

“QuestDB数据库:C++基本使用” 的相关文章

QuestDB的安装与测试

QuestDB 是一个开源的時序数据库,支持高吞吐数据获取和快速 SQL 查询,操作简单。 它支持使用InfluxDB连接协议、PostgreSQL协议和REST API进行批量无模式导入和导出。QuestDB非常适用于金融市场数据、应用程序指标、传感器数据、实时分析、仪表板和系统基础设施监控。Qu...