【TDengine 使用环境】
生产环境 /测试/
【TDengine 版本】
TDengine版本:3.3.7.5
客户端驱动版本:
com.taosdata.jdbc
taos-jdbcdriver
3.7.3
【操作系统以及版本】
测试环境:CentOS Linux release 7.6.1810 (Core)
生产环境:CentOS Linux release 7.9.2009 (Core)
【部署方式】非容器部署
【遇到的问题:问题现象及影响】
1、现象:在java客户端,同样一条SQL在测试环境写入成功,但在生产环境写入报错
2、报错信息:
org.springframework.jdbc.UncategorizedSQLException:
### Error updating database. Cause: java.sql.SQLException: TDengine ERROR (0x80000115): Invalid message
### The error may exist in URL [jar:file:/data/TSP/soa-sequence-data-v0.0.1.jar!/BOOT-INF/classes!/mapper/TdBikeFaultMapper.xml]
### The error may involve c.y.i.t.s.s.d.m.TdBikeFaultMapper.insertBatch-Inline
### The error occurred while setting parameters
### SQL: insert into bike_fault_214522524132130 USING bike_fault TAGS (?) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )
### Cause: java.sql.SQLException: TDengine ERROR (0x80000115): Invalid message
; uncategorized SQLException; SQL state []; error code [-2147483371]; TDengine ERROR (0x80000115): Invalid message; nested exception is java.sql.SQLException: TDengine ERROR (0x80000115): Invalid message
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:89)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)
at com.sun.proxy.$Proxy131.insert(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:271)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:60)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)
at com.sun.proxy.$Proxy176.insertBatch(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLException: TDengine ERROR (0x80000115): Invalid message
at com.taosdata.jdbc.TSDBError.createSQLException(TSDBError.java:102)
at com.taosdata.jdbc.TSDBJNIConnector.executeQuery(TSDBJNIConnector.java:240)
at com.taosdata.jdbc.TSDBStatement.executeImpl(TSDBStatement.java:178)
at com.taosdata.jdbc.TSDBStatement.execute(TSDBStatement.java:164)
at com.taosdata.jdbc.TSDBStatement.execute(TSDBStatement.java:143)
3、SQL
INSERT INTO iot_data.bike_fault_779422533720553 USING iot_data.bike_fault TAGS ( '779422533720553' ) VALUES (
'2026-01-15 17:13:12',
'',
'/',
'2026-01-15 17:13:12',
'2026-01-15 17:13:12',
'15992AAA2D2280FA8B9FCFFFFFFFF',
3,
2,
241,
null,
null,
null
)
4、测试环境DDL
CREATE STABLE `bike_fault` (
`ts` TIMESTAMP,
`imei` VARCHAR ( 64 ),
`faults` VARCHAR ( 2048 ),
`iot_time` TIMESTAMP,
`create_time` TIMESTAMP,
`packet` VARCHAR ( 1024 ),
`source` TINYINT,
`protocol_type` TINYINT,
`protocol` SMALLINT,
`ride_status` TINYINT,
`soc` SMALLINT,
`speed` DOUBLE
) TAGS ( `vin` VARCHAR ( 255 ) ) SMA (
`ts`,
`imei`,
`faults`,
`iot_time`,
`create_time`,
`packet`,
`source`,
`protocol_type`
)
5、生产环境DDL
CREATE STABLE `bike_fault` (
`ts` TIMESTAMP,
`imei` VARCHAR ( 64 ),
`faults` VARCHAR ( 2048 ),
`iot_time` TIMESTAMP,
`create_time` TIMESTAMP,
`packet` VARCHAR ( 1024 ),
`source` TINYINT,
`protocol_type` TINYINT,
`protocol` SMALLINT,
`ride_status` TINYINT,
`soc` SMALLINT,
`speed` DOUBLE
) TAGS ( `vin` VARCHAR ( 255 ) )
6、问题:
这个写入报错是什么引起的?同样的sql在两个环境造成的结果不一样,可能是什么原因?



