Hi NiFi Dev Team,
I am using NiFi v 1.10.0. I am getting the following error when I use the
custom query "select city_id,city,country_id,last_update from sakila.city" in
QueryDatabaseTable processor.
Error at Processor
19:08:15 IST ERROR
QueryDatabaseTable[id=8c1f8b38-016e-1000-66cd-8a6cf89d4bc3] Failed to process
session due to Unable to communicate with database in order to determine column
types: org.apache.nifi.processor.exception.ProcessException: Unable to
communicate with database in order to determine column types
Error from nifi-app.txt file
2019-12-20 19:08:25,361 ERROR [Timer-Driven Process Thread-1]
o.a.n.p.standard.QueryDatabaseTable
QueryDatabaseTable[id=8c1f8b38-016e-1000-66cd-8a6cf89d4bc3] Failed to process
session due to org.apache.nifi.processor.exception.ProcessException: Unable to
communicate with database in order to determine column types:
org.apache.nifi.processor.exception.ProcessException: Unable to communicate
with database in order to determine column types
org.apache.nifi.processor.exception.ProcessException: Unable to communicate
with database in order to determine column types
at
org.apache.nifi.processors.standard.AbstractDatabaseFetchProcessor.setup(AbstractDatabaseFetchProcessor.java:313)
at
org.apache.nifi.processors.standard.AbstractDatabaseFetchProcessor.setup(AbstractDatabaseFetchProcessor.java:236)
at
org.apache.nifi.processors.standard.AbstractQueryDatabaseTable.onTrigger(AbstractQueryDatabaseTable.java:182)
at
org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1176)
at
org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:213)
at
org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:117)
at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at
java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL
syntax; check the manual that corresponds to your MySQL server version for the
right syntax to use near '.city WHERE 1=0' at line 1
at
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
at
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at
com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at
com.mysql.cj.jdbc.StatementImpl.executeQuery(StatementImpl.java:1200)
at
org.apache.commons.dbcp2.DelegatingStatement.executeQuery(DelegatingStatement.java:329)
at
org.apache.commons.dbcp2.DelegatingStatement.executeQuery(DelegatingStatement.java:329)
at
org.apache.nifi.processors.standard.AbstractDatabaseFetchProcessor.setup(AbstractDatabaseFetchProcessor.java:273)
Screen shot of the processor:
[cid:[email protected]]
I have tried with different databases like MySQL, DB2, etc but the same
behavior. Not sure why its... Can you pl look into this and advise for
resolution? Thanks a lot in advance
Best Regards
Sreehari