时序数据库TDengine安装及c#连接读写数据

物联网数据采集,需写入大量数据,这时就用到时序数据库来存储和快速读取

我个人使用感觉国产的开源项目TDengine,比InfluxDB操作方便很多,容易上手,支持使用SqlSugar进行数据操作,跟操作mysql数据库一样的体验

跟mysql最有特别之处,就是TDengine有个超级表=表结构模板 的概念,可以基于这个超级表的结构,建N个数量的子表,查询的时候,可以查单个子表,也可以查超级表所有子表的数据集合

超级表概念如:

建超级表A

基于超级表A的结构 建子表 : A1、A2、A3、N

然后查询的时候,可以单查A1表数据,也可以通过超级表A查所有A1、A2...集合的数据出来

用在传感器数据采集日志,一个设备一个表,最适合不过

TDengine官网技术文档 :https://docs.taosdata.com/connector/csharp/

一、window下安装TDengine

https://docs.taosdata.com/releases/tdengine/

找到同时有server和client 的版本

TDengine-server-xxx-Windows  数据库主安装文件
TDengine-client-xxx-Windows  数据库连接工具

二、服务端安装:

1、双击TDengine-server-3.0.7.1-Windows-x64.exe 安装,一直回车即可

2、配置数据库变量

打开C:\TDengine\cfg下的taos.cfg

3、在E盘创建文件夹

创建TDengine文件夹,在TDengine文件夹下创建log文件夹和data文件夹

 4、启动数据库服务

进入C:\TDengine,双击taosd.exe,等待启动。

5、测试下

双击桌面的Taos Shell,输入 taos 运行

查看用户

taos> show users; 

 服务端安装完毕

6、开放服务器端口6030

三、客户端window为例

1、安装客户端安装包

TDengine-client-xxx-Windows  数据库连接工具

安装好后,打开目录C:\TDengine\cfg

修改配置文件taos.cfg

firstEp 值修改为服务端的IP和端口

3、测试连接 

打开taos.exe,看到这样为连接成功

创建用户

create user admin pass '123456';

查看用户

show users;

创建数据库

CREATE DATABASE   iot_devicedatacenter;

四、C#程序调用

 NET 操作 TDengine官方教程:

 代码例子:

using TDengineDriver;
using SqlSugar;
using Newtonsoft.Json;public void SqlSugarTest()
{var db = new SqlSugarClient(new ConnectionConfig(){DbType =SqlSugar.DbType.TDengine,ConnectionString = "Host=localhost(服务器IP);Port=6030;Username=root;Password=taosdata;Database=power",IsAutoCloseConnection = true});//建超级表db.Ado.ExecuteCommand("CREATE STABLE IF NOT EXISTS  stable_device_valuelog (ts TIMESTAMP, dkey NCHAR(20), dvalue NCHAR(20)) TAGS (did INT,cid INT)");//建数据表并写入数据db.Ado.ExecuteCommand(@" INSERT INTO tb_device_valuelog01 USING stable_device_valuelog TAGS(1, 2) VALUES(NOW,'status','no');");//读数据DataTable dt = db.Ado.GetDataTable("select * from tb_device_valuelog01 ");
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/201813.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Selenium模拟人工操作及获取网页内容

使用Selenium抓取网页动态内容 根据权威机构发布的全球互联网可访问性审计报告,全球约有四分之三的网站其内容或部分内容是通过JavaScript动态生成的,这就意味着在浏览器窗口中“查看网页源代码”时无法在HTML代码中找到这些内容,也就是说我们…

Ps:文字操作常用快捷键

对文字的设置操作,可在工具选项栏或“字符”面板上进行。但是,如果能记住并使用快捷键,可大大提高工作效率。 设置文字颜色 Color 1、选中几个或全部文字后,除了使用工具选项栏上的“颜色”按钮,还可以使用快捷键 Alt…

Java IO流:基本概念

一、IO 概念 ・I/O 即输入 Input/ 输出 Output 的缩写,其实就是计算机调度把各个存储中(包括内存和外部存储)的数据写入写出的过程; ・java 中用 “流(stream)” 来抽象表示这么一个写入写出的功能&#…

吴恩达《机器学习》11-3-11-5:类偏斜的误差度量、查准率和查全率之间的权衡、机器学习的数据

一、类偏斜的误差度量 误差度量的关键性 之前的课程中已经提到了误差分析和设定误差度量值的重要性。评估学习算法并衡量其表现需要使用一个实数,这就是误差度量值。然而,在某些情况下,特别是当处理偏斜类时,选择正确的误差度量…

idea安装

1、下载插件 下载地址:https://plugins.zhile.io/files/ide-eval-resetter-2.1.6.zip 2、安装插件 直接下载插件 zip 包(macOS 可能会自动解压,然后把 zip 包丢进回收站) 通常可以直接把 zip 包拖进 IDE 的窗口来进行插件的安装…

如何使用Python核对文件夹内的文件

说明:日常工作中,我们经常会遇到这样的场景:核对A、B文件夹中文件的差异,找出A、B文件夹中不同部分的文件; 本文介绍如何使用Python来实现; 第一步:获取文件清单 首先,我们要获取…

Navicat 与 华为云 GaussDB 合作再升级,赋能 GaussDB 分布式数据库

2023 年第三季度,Navicat 首次支持了华为云 GaussDB 主备版数据库。经过双方团队进一步的深化合作,Navicat 完成了 GaussDB 分布式的研发适配工作,赋能 GaussDB 全域数据库产品。 GaussDB 数据库分为主备版和分布式版两种模式。主备版适用于…

软件即服务:改变传统软件交付模式的革命性商业模式

Software as a Service (SaaS)是一种流行的商业模式,它允许软件开发商通过互联网向用户提供软件服务,用户无需购买和维护软件本身。这种模式具有许多优势,包括降低成本、提高效率、增强安全性等。本文将探讨SaaS商业模式的概念、优势、应用和…

Spingboot 之spring-boot-starter-parent与spring-boot-dependencies区分

在创建spring boot工程时,spring-boot-starter-parent 和 spring-boot-dependencies是二选一的关系,在pom中引入其中一个就可以了。 那么什么时候用spring-boot-starter-parent 和 spring-boot-dependencies呢?从字面名称上看,如…

履带吊,笔记

0.前言 履带吊使用了与传统的门桥式起重机不同的技术路线。因为它是移动式设备,所以它的动力是燃油发动机。为了精确调控升降。它的整套动力系统似乎采用了某种液压传动系统。履带吊国内也有生产商。但是下文中,还是从国外的一款产品说起。这款产品的pd…

JDK7与JDK8中HashMap的区别

学习了HashMap JDK7和JDK8中的实现,现在让我们来总结下两者的区别. JDK7 HashMap // 数据结构 - 基于数组链表。 - 元素存储在 Entry 对象中,使用链表解决哈希冲突 // 扩容条件: - 在数组长度达到阈值且当前位置不为空时触发扩容。 // 扩容…

【无标题】Vue3想在scss中想使用动态的变量

Vue3想在css中想使用动态的变量 首先在组件中定义 :style"{ --custom-style-color: customStyle.color }",customStyle.color就是那个传过来的变量,也可以是自定义的-color 值 const props defineProps({customStyle: {type: Object,default: () >…

java面试题-Dubbo和openFeign怎么选择,优劣

远离八股文,面试大白话,通俗且易懂 看完后试着用自己的话复述出来。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。 java面试题汇总-目录-持续更新中 面试官:你在…

台灯护眼灯怎么挑选?考公必备护眼台灯推荐

台灯作为日常生活中比较常用的桌面照明工具,不管是上班族熬夜加班,还是学生党用于学习、备考都离不开它的身影。但是如何挑选一盏光源舒适的台灯,相信是很多小伙伴最为烦恼的一个问题!如果使用了一款质量不好,光源不达…

[数据结构]线性表1 C++编程作业

链表三插法详解&#xff1a; 链表的三种插入方法&#xff08;头插法&#xff0c;尾插法&#xff0c;任意位置插入&#xff09;_链表插入_夜路难行々的博客-CSDN博客 1使用头插法创建链表 #include <iostream> using namespace std;typedef struct Lnode{int data;stru…

排序:直接插入排序希尔排序

目录 排序&#xff1a; 概念&#xff1a; 直接插入排序&#xff1a; 代码的实现&#xff1a; 代码解析&#xff1a; 总结&#xff1a; 希尔排序&#xff1a; 代码实现&#xff1a; 预排序&#xff1a; 代码优化&#xff1a; gap 的 本质 &#xff1a; 直接…

【每日一题】最小化旅行的价格总和

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;深搜动态规划 写在最后 Tag 【深搜动态规划】【树】【2023-12-06】 题目来源 2646. 最小化旅行的价格总和 题目解读 有一棵无向、无根的树&#xff0c;树中的节点从 0 到 n-1&#xff0c;每个节点有一个关联的价格&a…

这款IDEA插件真的爱了

前言 Idea 是一款功能强大的集成开发环境&#xff08;IDE&#xff09;&#xff0c;它可以帮助开发人员更加高效地编写、调试和部署软件应用程序,Idea 还具有许多插件和扩展&#xff0c;可以根据开发人员的需要进行定制和扩展&#xff0c;从而提高开发效率,今天我们就来介绍一款…

基于Java SSM毕业设计管理子系统

学校有若干系&#xff0c;每个系有若干专业&#xff0c;需要通过一个毕业设计管理子系统对毕业设计隋况进行管理。系统主要功能如下&#xff1a; 登记毕业设计题目&#xff0c;包括&#xff1a;编号、题目、类型、指导老师等。 老师信息包括&#xff1a;工号、姓名、性别、职称…

基于c++版本的数据结构改-python栈和队列思维总结

##栈部分-&#xff08;叠猫猫&#xff09; ##抽象数据类型栈的定义&#xff1a;是一种遵循先入后出的逻辑的线性数据结构。 换种方式去理解这种数据结构如果我们在一摞盘子中取到下面的盘子&#xff0c;我们首先要把最上面的盘子依次拿走&#xff0c;才可以继续拿下面的盘子&…