Apache NiFi 1.6.0错误升级后

时间:2018-05-06 23:26:37

标签: apache apache-nifi

刚刚升级到最新版本和grate NiFi 1.6.0,我在ExecuteSQL处理器上遇到了一个奇怪的错误。

错误:无法将多个命令插入预准备语句

因此,ExecuteSQL使用数据库连接池服务,该服务针对数据库运行一些查询,在这种情况下是Vertica(使用最新的jar),并且有多个顺序查询。

我设法通过将我的Apache NiFi Install回滚到NiFi 1.5.0来解决这个问题,现在一切正常。

我也可以复制错误。

我实际上在1.5.0 vs 1.6.0上对ExecuteSQL的行为做了一个简短的视频。

错误演示

还链接:https://youtu.be/FJPf7PDmTSE

有什么想法吗?也许是新版本的错误?

THX

作为对@Jagrut的回复

  • 我想感谢您对此进行调查,但问题不在于我的MariaDB SQL上的拼写错误。

我再次复制了错误

https://www.youtube.com/watch?v=OvnwNz86EsY&feature=youtu.be

1 个答案:

答案 0 :(得分:4)

NiFi 1.6ExecuteSQL处理器中添加了对参数化语句的支持。这通过NIFI-978解决PR 2433

ExecuteSQL处理器获取有效的SQL选择查询,由处理器发布到数据库。它不表示支持多个选择查询。 (NiFi v1.6NiFi v1.5

video中,MariaDB连接为v1.6v1.5引发了同样的异常,即:

java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'select '2' as col1' at line 2

v1.6的错误在2:32时出现,v1.5的错误在4:25时出现。

v1.6, MariaDB

v1.5, MariaDB