mqtt服务插入时序库表不存在

Blade 未结 1 128
liuda
liuda 剑侠 2025-07-17 10:04

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

1. 每次重启电脑后 服务都重启后  给mqtt服务发数据 mqtt服务插入时序库 都会报表不存在  必须重新发布一下产品 才会创建表

2. 

org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [INSERT INTO `device_logger_konz2t2kfap9_erdd9tsz2sjm` USING `device_logger` TAGS ('KONz2t2KfAP9''erdd9tsz2sjm') (`time``topic``message`VALUES (?, ?, ?) `device_property_konz2t2kfap9_erdd9tsz2sjm` USING `device_property_konz2t2kfap9` TAGS ('KONz2t2KfAP9''erdd9tsz2sjm') (`time``Status``PointY``PointX``PointZ`VALUES (?, ?, ?, ?, ?);]; SQL state []; error code [9731]; TDengine ERROR (0x2603): sql: INSERT INTO `device_logger_konz2t2kfap9_erdd9tsz2sjm` USING `device_logger` TAGS ('KONz2t2KfAP9''erdd9tsz2sjm') (`time``topic``message`VALUES (1752717536304'/blade/sys/KONz2t2KfAP9/erdd9tsz2sjm/thing/event/property/post''{"id":1752717536302,"version":"1.0","params":{"PointX":49241,"PointY":49222,"PointZ":49214,"Status":49209}}'`device_property_konz2t2kfap9_erdd9tsz2sjm` USING `device_property_konz2t2kfap9` TAGS ('KONz2t2KfAP9''erdd9tsz2sjm') (`time``Status``PointY``PointX``PointZ`VALUES (175271753630449209492224924149214);, desc: Table does not exist
at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1549)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:677)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:970)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:1014)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:1024)
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(FutureTask.java:264)
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:842)
Caused by: java.sql.SQLException: TDengine ERROR (0x2603): sql: INSERT INTO `device_logger_konz2t2kfap9_erdd9tsz2sjm` USING `device_logger` TAGS ('KONz2t2KfAP9''erdd9tsz2sjm') (`time``topic``message`VALUES (1752717536304'/blade/sys/KONz2t2KfAP9/erdd9tsz2sjm/thing/event/property/post''{"id":1752717536302,"version":"1.0","params":{"PointX":49241,"PointY":49222,"PointZ":49214,"Status":49209}}'`device_property_konz2t2kfap9_erdd9tsz2sjm` USING `device_property_konz2t2kfap9` TAGS ('KONz2t2KfAP9''erdd9tsz2sjm') (`time``Status``PointY``PointX``PointZ`VALUES (175271753630449209492224924149214);, desc: Table does not exist
at com.taosdata.jdbc.TSDBError.createSQLException(TSDBError.java:95)
at com.taosdata.jdbc.rs.RestfulStatement.execute(RestfulStatement.java:97)
at com.taosdata.jdbc.rs.RestfulStatement.execute(RestfulStatement.java:77)
at com.taosdata.jdbc.rs.RestfulStatement.executeUpdate(RestfulStatement.java:55)
at com.taosdata.jdbc.rs.RestfulPreparedStatement.executeUpdate(RestfulPreparedStatement.java:59)
at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeUpdate(DruidPooledPreparedStatement.java:241)
at org.springframework.jdbc.core.JdbcTemplate.lambda$update$2(JdbcTemplate.java:975)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:658)
... 12 common frames omitted

3.a9493d00eadf36082f2b004773ad7e3.pngab6f7fc148e7b40ad2848a913f0797b.png


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

产品每次都得发布一个新版本吗,这是什么问题,望解答,期待不用每次发布新版本

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


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


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

1条回答
  • 2025-07-17 10:06

    发布后会在tdengine创建超级表,创建后就可以一直上报数据。

    你重启电脑后打开td的控制台看看之前的超级表还在不在,td的默认地址是这里:http://localhost:6060/


    作者追问:2025-07-17 10:16

    重启电脑后数据库都没了    我重启电脑之前重启td服务没影响表都在

    回答: 2025-07-17 12:02

    td有没有做持久化,你用的是docker部署的么?如果重启后是td的表本身就没了,那就不是平台的问题,你要给td做下持久化,重启表还在才行

    0 讨论(0)
代码语言
提交回复