database - 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_param
and taos_stmt_add_batch
,最后执行 with taos_stmt_execute
。
问题是插入失败,因为我检查了外壳并用于select *
查找数据,但它只显示一个空列。
解决方案
我强烈建议您先尝试插入一个简单的 nchar 类型数据,以检查是否是 taos_stmt API 的问题。如果插入成功,那么您还可以检查插入的 nchar 字符串是否与str
变量具有相同的长度。有时,buffer_length
大于或等于length
。如果您的 nchar 数据的实际大小小于 中的length
值TAOS_BIND
,则 tdengine 仍会使用其他额外的空值分析绑定值,并且将无法插入。
推荐阅读
- php - PhpStorm 的 CLI 检测 docker 环境中的 PHP 版本
- python - Nbextensions 未正确安装
- r - 如何为 optimx 函数中的参数下限定义不等式约束(> 0)
- html - 在模板中使用隐藏的输入字段将数据传递到 django 视图不安全吗?
- java - 以类似矩阵的形式在java中打印char数组
- spring - Spring Mongo - 在实体实现接口上设置自定义集合
- python - 如何在Win10上正确安装Python、VSCode、flake8
- java - Java JSONObject 不同键进入列表
- google-apps-script - 如何使用复选框隐藏 Google 表格中的列
- cognos - 无法安装 IBM cognos Analytics