TDengine Invalid data format 问题定位

Invalid data format 看语义是数据类型不符,通常这个报错出现在使用行协议写入时。

如果是批量数据写入,想定位是哪条语句的问题,需要查看客户端日志。

如何确定使用的是哪个日志

bash 复制代码
lsof -p `pidof taosadapter` | grep taoslog

如果没有安装lsof

bash 复制代码
ls -l /proc/`pidof taosadapter`/fd |grep taoslog

在日志中直接查抄报错

bash 复制代码
grep 'Invalid data format' -A2 -B2 taoslog0.0

通常会有如下3行报错信息:

bash 复制代码
UTL ERROR SML:0x9dfd point type and db type mismatch. db type: 5, point type: 8, key:
UTL ERROR SML:0x9dfd smlModifyDBSchemas end failed:-2147471358:Invalid data format,
UTL ERROR SML:0x9dfd smlModifyDBSchemas error : Invalid data format

定位错误

第一条报错显示了报错的具体原因:

bash 复制代码
db type: 5   ## 数据库中原数据类型
point type: 8 ## 写入数据的类型
key :    ##写入的语句

想查看数据类型编码,只能去源代码查找:

c 复制代码
// Data type definition
#define TSDB_DATA_TYPE_NULL       0   // 1 bytes
#define TSDB_DATA_TYPE_BOOL       1   // 1 bytes
#define TSDB_DATA_TYPE_TINYINT    2   // 1 byte
#define TSDB_DATA_TYPE_SMALLINT   3   // 2 bytes
#define TSDB_DATA_TYPE_INT        4   // 4 bytes
#define TSDB_DATA_TYPE_BIGINT     5   // 8 bytes
#define TSDB_DATA_TYPE_FLOAT      6   // 4 bytes
#define TSDB_DATA_TYPE_DOUBLE     7   // 8 bytes
#define TSDB_DATA_TYPE_VARCHAR    8   // string, alias for varchar
#define TSDB_DATA_TYPE_TIMESTAMP  9   // 8 bytes
#define TSDB_DATA_TYPE_NCHAR      10  // unicode string
#define TSDB_DATA_TYPE_UTINYINT   11  // 1 byte
#define TSDB_DATA_TYPE_USMALLINT  12  // 2 bytes
#define TSDB_DATA_TYPE_UINT       13  // 4 bytes
#define TSDB_DATA_TYPE_UBIGINT    14  // 8 bytes
#define TSDB_DATA_TYPE_JSON       15  // json string
#define TSDB_DATA_TYPE_VARBINARY  16  // binary
#define TSDB_DATA_TYPE_DECIMAL    17  // decimal
#define TSDB_DATA_TYPE_BLOB       18  // binary
#define TSDB_DATA_TYPE_MEDIUMBLOB 19
#define TSDB_DATA_TYPE_BINARY     TSDB_DATA_TYPE_VARCHAR  // string
#define TSDB_DATA_TYPE_GEOMETRY   20  // geometry
#define TSDB_DATA_TYPE_MAX        21

到这里,基本上就确定问题原因了。

相关推荐
GlobalInfo1 小时前
2026年全球机器人用超平执行器市场研究报告:市场规模达7.51亿美元,人形机器人商业化与轻量化运动控制需求推动行业增长
大数据·人工智能·数码相机·microsoft·机器人
IT古董3 小时前
《Agent开发工程师成长指南》- 第4章 第2节:Prompt设计五要素——任务、角色、上下文、约束与输出格式
大数据·人工智能·prompt
Allen_LVyingbo5 小时前
NVIDIA CUDA Tile 在医疗计算中的算子形式化、算法重构与内核实现
大数据·python·算法·重构·知识图谱·健康医疗·数据库架构
全栈陈序员6 小时前
【Git】从入门到精通(一)—— Git简介:什么是版本控制系统
大数据·git·elasticsearch
中国搜索直付通6 小时前
分账系统有风险吗?资金安全怎么保障?
大数据·支付通道·分账系统·分账支付
一枕槐安4876 小时前
微调 vs Prompt:业务场景下两种方案成本 & 效果对比
大数据·人工智能·prompt·混合架构·推理成本·行为固化·知识边界
SelectDB7 小时前
Apache Doris 与 SelectDB 是什么关系?从开源技术到面向 Agent 的极速分析数据库
大数据·数据库·数据分析
科技新资讯7 小时前
AI如何批量处理Excel文件? 从数据合并、清洗到自动生成报表,看看 AI Agent 怎么完成任务
大数据·人工智能·excel
SelectDB7 小时前
存算分离冷查询提速 7.5 倍!Apache Doris 4.2 Peer Read 实现跨计算组缓存复用
大数据·数据库·数据分析
Thomas21437 小时前
flink paimon 参数 ignore_progress=true
大数据·flink