ClickHouse异常解决-code: 1002
项目场景:
错误 [1002]: org.springframework.jdbc.UncategorizedSQLException: ### Error querying database. Cause: ru.yandex.clickhouse.except.ClickHouseUnknownException: ClickHouse exception, code: 1002, host: 端口号, port: 8123; 端口号:8123 failed to respond ### The error may exist in class path resource [mapper/monitor/IotDeviceDataMapper.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters
问题描述
查询ClickHouse数据时部分报异常,部分不报异常,
<!-- clickhouse 版本 --> <dependency> <groupId>ru.yandex.clickhouse</groupId> <artifactId>clickhouse-jdbc</artifactId> <version>0.1.53</version> </dependency>
原因分析:
错误的sql复制下来粘贴导客户端也执行不了,报和项目同样的错
通过对sql分析结果
1,发现sql中多了许多ClickHouse识别不了的占位符空格等字段
解决方案:
把占位符之类的数据想办法去掉, 其中有两个连续的foreach 和 if 标签 利用代码逻辑去掉连续的标签,
经过修改打印的sql正确,项目运行发现还是会报错, 复制打印报错的sql放到客户端中能够执行成功 经过分心是jdbc版本出现问题 修改版本
<!-- clickhouse --> <dependency> <groupId>ru.yandex.clickhouse</groupId> <artifactId>clickhouse-jdbc</artifactId> <version>0.2.6</version> </dependency>
也许直接改变版本也能把占位符自动给去掉,但是没有经过验证。后期在遇到类似的问题可以验证一下。
下一篇:
连接远程redis的详细步骤