背景
使用logstash将sqlite db文件中的数据同步到elasticsearch中去(实现方案可参考博主另一篇文章:logstash从sqlite中获取内容)。业务取数逻辑比较复杂,需要用到with recursive
关键字。
sql语句在本地navicat中已经调试通过,迁移到logstash的配置文件中,执行同步任务时报sql语句异常:
logstash.inputs.jdbc ] Exception when executing JDBC query {:exception=>#<Sequel::DatabaseError: Java::JavaSql::SQLException: near “with”: syntax error>}
解决方案
通过搜索,发现可能是sqlite版本问题。尝试了多个jar包号,解决了问题。
目前博主使用的jar版本为:sqlite-jdbc-3.8.11.2.jar。下载地址为:https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc/3.8.11.2