当前位置: 首页 > news >正文

深入解析:TDengine C# 语言连接器入门指南

在这里插入图片描述

本指南汇总官网文档中 C# 初学者应该掌握的基础知识,覆盖安装、连接方式、基本读写、异常处理与数据类型映射。示例代码基于 .NET 6.0。

1. 准备环境

  • 确保 TDengine TSDB 服务端可访问。
  • 原生连接使用 serverPort(默认 6030)。
  • WebSocket 连接需要 taosAdapter,默认端口 6041。

2. 安装连接器

在项目文件中添加 NuGet 依赖:

<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><OutputType>Exe</OutputType><TargetFramework>net6.0</TargetFramework><ImplicitUsings>enable</ImplicitUsings><Nullable>enable</Nullable></PropertyGroup><ItemGroup><PackageReference Include="TDengine.Connector" Version="3.1.0" /></ItemGroup>
</Project>

或使用命令行:

+dotnet add package TDengine.Connector

:::note
以下示例代码基于 .NET 6.0;如使用其他版本,请根据目标框架做适配。
:::

3. 选择连接方式与连接字符串

连接字符串采用 key=value 形式,参数之间用分号分隔。

  • 原生连接示例:
host=127.0.0.1;port=6030;username=root;password=taosdata;protocol=Native
  • WebSocket 连接示例:
protocol=WebSocket;host=127.0.0.1;port=6041;useSSL=false;username=root;password=taosdata

常用参数速览

  • host:TDengine 实例地址。
  • port:端口(原生 6030 / WebSocket 6041)。
  • username / password:认证信息。
  • protocolNativeWebSocket(默认 Native)。
  • db:连接数据库。
  • timezone:查询结果集解析时区。
  • connectionTimezone:连接级别时区(3.1.8+,仅 .NET 6+,与 timezone 互斥)。

更多参数与时区规则请参考 C# 连接器参考文档的“参数规范/时区说明”。

4. 最小连接示例

{{#include docs/examples/csharp/connect/Program.cs:main}}
{{#include docs/examples/csharp/wsConnect/Program.cs:main}}

5. 建库建表、写入与查询

下面示例展示基础的建库建表、插入与查询流程:

using System;
using System.Text;
using TDengine.Driver;
using TDengine.Driver.Client;
var builder = new ConnectionStringBuilder("host=localhost;port=6030;username=root;password=taosdata");
using (var client = DbDriver.Open(builder))
{
client.Exec("CREATE DATABASE IF NOT EXISTS power");
client.Exec("CREATE STABLE IF NOT EXISTS power.meters (ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT) TAGS (groupId INT, location BINARY(24))");
client.Exec(
"INSERT INTO power.d1001 USING power.meters TAGS(2,'California.SanFrancisco') VALUES " +
"(NOW + 1a, 10.30000, 219, 0.31000) (NOW + 2a, 12.60000, 218, 0.33000)");
using (var rows = client.Query("SELECT ts, current, location FROM power.meters LIMIT 5"))
{
while (rows.Read())
{
var ts = (DateTime)rows.GetValue(0);
var current = (float)rows.GetValue(1);
var location = Encoding.UTF8.GetString((byte[])rows.GetValue(2));
Console.WriteLine($"{ts:yyyy-MM-dd HH:mm:ss.fff}, {current}, {location}");
}
}
}

更完整的插入/查询示例可参考:

  • docs/examples/csharp/sqlInsert/Program.cs
  • docs/examples/csharp/query/Program.cs

6. 异常处理与错误码

TDengine.Connector 会抛出 TDengineError,包含错误码与错误信息。建议统一捕获并输出 CodeError 字段。TDengine 其他模块的错误码参见 错误码。

7. 数据类型映射(必知)

TDengine TSDB DataTypeC# Type
TIMESTAMPDateTime
TINYINTsbyte
SMALLINTshort
INTint
BIGINTlong
TINYINT UNSIGNEDbyte
SMALLINT UNSIGNEDushort
INT UNSIGNEDuint
BIGINT UNSIGNEDulong
FLOATfloat
DOUBLEdouble
BOOLbool
BINARYbyte[]
NCHARstring
JSONbyte[]
VARBINARYbyte[]
GEOMETRYbyte[]
DECIMALdecimal

注意

  • JSON 类型仅在 tag 中支持。
  • GEOMETRY 为 WKB 小端字节序。
  • DECIMAL 在 C# 使用 decimal;当精度超出 decimal 范围时需用 GetString 获取。

8. 下一步建议

关于 TDengine

TDengine 专为物联网IoT平台、工业大数据平台设计。其中,TDengine TSDB 是一款高性能、分布式的时序数据库(Time Series Database),同时它还带有内建的缓存、流式计算、数据订阅等系统功能;TDengine IDMP 是一款AI原生工业数据管理平台,它通过树状层次结构建立数据目录,对数据进行标准化、情景化,并通过 AI 提供实时分析、可视化、事件管理与报警等功能。

http://www.jsqmd.com/news/377389/

相关文章:

  • 抗衰产品哪款更靠谱?2026年高纯度NMN抗衰推荐,精准改善NAD+水平 - 资讯焦点
  • 3分钟生成高质量开题报告?百考通AI让选题不再卡壳!
  • js数组倒序函数
  • AI赋能·全域穿透:高级开源情报(OSINT)追踪技术全景与未来演进
  • 【无人机】基于实时3D蒙特卡洛梯度搜索的自主无人机载空气过滤系统附matlab代码
  • NMN抗衰产品如何选?2026权威NAD补充剂质量测评,延缓衰老不迷路 - 资讯焦点
  • Gemini AI武器化失控:黑客滥用生成恶意代码,无文件攻击席卷全球APT战场
  • 从选题到框架全搞定!百考通AI开题报告,助你轻松过审第一步
  • 百考通:AI驱动数据分析,让专业洞察触手可及
  • 以非常6+1体系为支撑 融入AI智能名片商城小程序 提升组织建设效能
  • 深度解析双大马士革工艺:芯片互连的核心基石
  • 百考通:AI智能生成实践报告,让实习成果完美呈现
  • 别再瞎找了!专科生专属AI论文平台 —— 千笔
  • OUTLOOK无法预览Excel附件的解决方法
  • 瑞祥商联卡提现到微信的超简单教学 - 团团收购物卡回收
  • 百考通:AI时代学术写作的“守护者“,让论文降重与降AIGC一步到位
  • 实测对比后!千笔·专业降AIGC智能体,人气爆表的降AIGC工具
  • 横评后发现!专科生必备的一键生成工具 —— 千笔写作工具
  • 百考通AIGC检测:精准识别AI生成内容,守护学术诚信的专业卫士
  • 影视后期资源合集
  • 信创国产化IM软件推荐:安全性与生态兼容性评测 - 企业数字化观察家
  • YOLO11-ContextGuideFPN_手机玻璃盖板裂缝缺陷检测技术详解 - 详解
  • 2月最新|装修公司哪家好?2026年西安|咸阳双城TOP10 榜单及选择指南 - 博客万
  • Java面试实战:互联网医疗场景下的Spring Boot与微服务应用
  • 百考通:AI智能生成任务书,让科研与项目管理高效启航
  • 10.2 MetaGPT 产品经理与开发与测试自动生成软件项目
  • 开题焦虑终结者来了!百考通AI:输入题目,输出高分开题初稿 ✨
  • SSH X11 转发排查与解决指南(Windows + Xming + Ubuntu)
  • @TableLogic - 逻辑删除注解
  • 10.1 AutoGen 多Agent对话协作像开会一样解决问题