设备模拟 发送指令 后台报错

Blade 未结 2 281
fxt
fxt 剑侠 2026-06-10 14:08

一、该问题的重现步骤是什么?

1.  image.png



2. 

3.


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

BladeX-Links-Cloud-Pro    微服务版本

四、请提供详细的错误堆栈信息,这很重要。

  2026-06-10 13:51:00.983  INFO 25528 --- [pool-6-thread-1] o.s.i.t.tdengine.dao.TDEngineTemplate    : TdEngine saveBatch sql:INSERT INTO `device_logger_jkerjk97oub_27oy29bmmln` USING `device_logger` TAGS ('JkerjK97oub', '27OY29BMmLn') (`time`, `topic`, `message`) VALUES (?, ?, ?); paras:[1781070660942, /blade/sys/JkerjK97oub/27OY29BMmLn/thing/event/property/post, {"id":"13cbb652-40ee-4fee-8a4e-b290661cea1b","version":"1.0","params":{"Temperature":1,"Humidity":23,"Pressure":3}}] updated count:1

2026-06-10 13:51:00.987 ERROR 25528 --- [pool-5-thread-1] o.s.iot.core.task.BaseBatchTask          : 批量消费失败,数据可能会丢失


org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [INSERT INTO `device_property_jkerjk97oub_27oy29bmmln` USING `device_property_jkerjk97oub` TAGS ('JkerjK97oub', '27OY29BMmLn') (`time`, `Temperature`, `Humidity`, `Pressure`) VALUES (?, ?, ?, ?);]; SQL state []; error code [9731]; TDengine ERROR (0x2603): sql: INSERT INTO `device_property_jkerjk97oub_27oy29bmmln` USING `device_property_jkerjk97oub` TAGS ('JkerjK97oub', '27OY29BMmLn') (`time`, `Temperature`, `Humidity`, `Pressure`) VALUES (1781070660950, 1, 23, 3);, desc: Table does not exist

at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1557)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:677)

at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:972)

at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:1016)

at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:1026)

at org.springblade.iot.tsdb.tdengine.dao.TDEngineTemplate.saveBatch(TDEngineTemplate.java:108)

at org.springblade.iot.core.task.BaseBatchTask.consumerQueueData(BaseBatchTask.java:72)

at org.springblade.iot.core.task.BaseBatchTask$1.run(BaseBatchTask.java:53)

at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)

at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)

at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

at java.base/java.lang.Thread.run(Thread.java:833)


五、若有更多详细信息,请在下面提供。



2条回答
  • 2026-06-10 14:18

    提示的是这个:desc: Table does not exist ,提示表不存在,那就是物模型超级表没有创建成功


    看看tdengine用的是哪个版本,用这个版本试试

    docker run -d \
      --name tdengine \
      -p 6030-6049:6030-6049 \
      -p 6030-6049:6030-6049/udp \
      -p 6060:6060 \
      -v /docker/data/tdengine/data:/var/lib/taos \
      -v /docker/data/tdengine/log:/var/log/taos \
      tdengine/tdengine:3.3.6.13


    然后再检查下,有没有先给产品的物模型进行发布操作,发布之后,才会到tdengine建超级表,才能进行数据的上报入库

    0 讨论(0)
  • 2026-06-10 14:25

    3. docker启动tdengine并挂载数据(默认的时序库,更详细文档请看:https://docs.taosdata.com/get-started/docker/)

    docker run -d \  --name tdengine \  -p 6030-6049:6030-6049 \  -p 6030-6049:6030-6049/udp \  -p 6060:6060 \  -v /docker/data/tdengine/data:/var/lib/taos \  -v /docker/data/tdengine/log:/var/log/taos \  tdengine/tdengine:3.3.6.13

    用的文档里的这个

    作者追问:2026-06-10 14:26

    如果用的这个版本,那就到产品模块的物模型里,再发布一次版本,只有发布了才会到tdengine进行建表

    回答: 2026-06-10 14:49

    发布过了 还没解决

    org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [INSERT INTO `device_property_jkerjk97oub_27oy29bmmln` USING `device_property_jkerjk97oub` TAGS ('JkerjK97oub', '27OY29BMmLn') (`time`, `Temperature`, `Humidity`, `Pressure`) VALUES (?, ?, ?, ?);]; SQL state []; error code [9731]; TDengine ERROR (0x2603): sql: INSERT INTO `device_property_jkerjk97oub_27oy29bmmln` USING `device_property_jkerjk97oub` TAGS ('JkerjK97oub', '27OY29BMmLn') (`time`, `Temperature`, `Humidity`, `Pressure`) VALUES (1781073797791, 1, 1, 1);, desc: Table does not exist

    at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1557)

    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:677)

    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:972)

    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:1016)

    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:1026)

    at org.springblade.iot.tsdb.tdengine.dao.TDEngineTemplate.saveBatch(TDEngineTemplate.java:108)

    at org.springblade.iot.core.task.BaseBatchTask.consumerQueueData(BaseBatchTask.java:72)

    at org.springblade.iot.core.task.BaseBatchTask$1.run(BaseBatchTask.java:53)

    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)

    at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)

      image.png


    作者追问:2026-06-10 14:53

    不确定是不是cloud配置的问题,你先用boot版本跑一下试试,如果boot版本还不行,请录制视频,把你从下载工程到配置到启动到上报的流程录制下来,发我们邮件 bladejava@qq.com ,我们来看下你的具体操作是哪里有遗漏。

    作者追问:2026-06-10 14:55

    发布的时候,你也可以到这里打断点,看看为何没有创建表成功.(他底层其实就是类似mysql一样执行的sql,来进行表的创建、修改、删除)

    CleanShot20260610145440@2x.png

    0 讨论(0)
提交回复