TDengine HelloWorld
安装
https://www.taosdata.com/cn/getting-started/
$ tar -xvzf TDengine-server-2.3.0.0-beta-Linux-x64.tar.gz
$ cd TDengine-server-2.3.0.0
$ ./install.sh
默认信息
端口 6030
用户:root
密码:taosdata
$ taos
$ create database power KEEP 365; // 建库(保留365天)
$ USE power;
$ CREATE STABLE meters (ts timestamp, current float, voltage int) TAGS (location binary(64), groupdId int); // 创建超级表(电表:电流+电压,标签)
$ INSERT INTO d1001 USING meters TAGS ("Beijng.Chaoyang", 2) VALUES (now, 10.2, 219); // 自动创建子表
解决客户端连接报错"Unable to resolve FQDN"
1. 查询TDengine所在Linux服务端的hostname

2.
对于Linux系统的客户端,在/etc/hosts文件添加如下的一条记录:192.168.1.131 chen
对于Windows系统的客户端,在C:\Windows\System32\drivers\etc\hosts文件中添加如下一条记录:192.168.1.131 chen


添加NuGet引用“Maikebing.Data.Taos”
using Maikebing.Data.Taos;
using System;
namespace TDengineTest
{
class Program
{
/// <summary>
/// 时间戳计时开始时间
/// </summary>
static DateTime timeStampStartTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
/// <summary>
/// DateTime转换为13位时间戳(单位:毫秒)
/// </summary>
/// <param name="dateTime"> DateTime</param>
/// <returns>13位时间戳(单位:毫秒)</returns>
static long DateTimeToLongTimeStamp(DateTime dateTime)
{
return (long)(dateTime.ToUniversalTime() - timeStampStartTime).TotalMilliseconds;
}
static void Main(string[] args)
{
string database = "power";//"db_" + DateTime.Now.ToString("yyyyMMddHHmmss");
var builder = new TaosConnectionStringBuilder()
{
DataSource = "chen",
DataBase = database,
Username = "root",
Password = "taosdata",
Port = 6030
};
using (var connection = new TaosConnection(builder.ConnectionString))
{
DateTime dtNow = DateTime.Now;
connection.Open();
connection.CreateCommand($"drop stable {database}.meters;").ExecuteNonQuery();
connection.CreateCommand($"create stable {database}.meters (timevalue timestamp, timekey bigint, current float, voltage int) TAGS (location binary(64), groupdId int);").ExecuteNonQuery();
connection.CreateCommand($"insert into d1001 using meters TAGS('Beijng.Chaoyang', 2) values ('{ dtNow.ToString("yyyy-MM-dd HH:mm:ss.ms") }', { DateTimeToLongTimeStamp(dtNow) }, 10.2, 219)").ExecuteNonQuery();
var cmd_select = connection.CreateCommand();
cmd_select.CommandText = $"select * from meters";
var reader = cmd_select.ExecuteReader();
var d = reader.ToDataTable();
cmd_select.CommandText = $"select * from d1001";
var reader1 = cmd_select.ExecuteReader();
var d1 = reader1.ToDataTable();
connection.Close();
}
Console.ReadKey();
}
}
}
TDengine 服务端 客户端 版本要一致
参考资料
https://github.com/maikebing/Maikebing.EntityFrameworkCore.Taos
https://www.taosdata.com/blog/2020/09/08/1816.html
https://juejin.cn/post/6902286172711157768

浙公网安备 33010602011771号