首页 > 解决方案 > TDengine插入使用taos_stmt apis

问题描述

创建超级表和表后,调用taos_load_table_info加载表信息。taos_stmt_init然后通过调用和taos_stmt_set_tbname设置表名来初始化stmt 。
创建TAOS_BIND具有以下属性的对象:
buffer_type = TSDB_DATA_TYPE_NCHAR
buffer_length = sizeof(str)
buffer = &str
length = sizeof(str)
然后调用taos_stmt_bind_paramand taos_stmt_add_batch,最后执行 with taos_stmt_execute
问题是插入失败,因为我检查了外壳并用于select *查找数据,但它只显示一个空列。

标签: databasetd-engine

解决方案


我强烈建议您先尝试插入一个简单的 nchar 类型数据,以检查是否是 taos_stmt API 的问题。如果插入成功,那么您还可以检查插入的 nchar 字符串是否与str变量具有相同的长度。有时,buffer_length大于或等于length。如果您的 nchar 数据的实际大小小于 中的lengthTAOS_BIND,则 tdengine 仍会使用其他额外的空值分析绑定值,并且将无法插入。


推荐阅读