Apache NiFi 1.6.0 Ошибка после обновления - PullRequest
0 голосов
/ 07 мая 2018

Только что обновил до последней версии и получил NiFi 1.6.0, и я получаю странную ошибку на процессоре ExecuteSQL.

ошибка: невозможно вставить несколько команд в подготовленный оператор

Таким образом, ExecuteSQL использует службу пула соединений с базой данных, которая выполняет некоторые запросы к базе данных, в данном случае Vertica (с последним jar), и существует несколько последовательных запросов.

Мне удалось решить проблему, откатив установку Apache NiFi Install на NiFi 1.5.0, и теперь все нормально.

Я также могу повторить ошибку.

На самом деле я сделал небольшое видео о поведении ExecuteSQL на 1.5.0 против 1.6.0.

Демонстрация ошибки

Также ссылка: https://youtu.be/FJPf7PDmTSE

Есть идеи? может быть ошибка с новым выпуском?

Thx

В ответ на @ Jagrut

  • Я хочу поблагодарить вас за внимание, но проблема не в опечатке в моем MariaDB SQL.

Я повторил ошибку еще раз

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

1 Ответ

0 голосов
/ 07 мая 2018

NiFi 1.6 добавлена ​​поддержка параметризованных операторов в ExecuteSQL процессоре. Этот адрес NIFI-978 через PR 2433 .

ExecuteSQL процессор принимает действительный запрос выбора SQL, который процессор отправляет в базу данных. Это не означает поддержку нескольких запросов на выборку. ( NiFi v1.6 , NiFi v1.5 )

В вашем видео , MariaDB соединение вызывает одно и то же исключение для v1.6 и v1.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

...