You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nifi.apache.org by Sreehari Puchakayala <sr...@infosys.com> on 2019/12/20 14:31:08 UTC
Issue with Custom Query using QueryDatabaseTable Processor
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:image001.png@01D5B770.34B33E80]
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