nifi无法连接到本地mysql

rqqzpn5f  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(494)

我有mysql在3306端口本地运行。nifi也成立并运作。我在querydatabasetable和splitavro之间有一个简单的流程,如图所示,

我还设置了dbcpconnectionpool控制器,

数据库连接url:jdbc:mysql://localhost:3306/formulae
数据库驱动程序类名:com.mysql.jdbc.driver
数据库驱动程序位置:c:\users\chetanyadav\documents\mysql-connector-java-8.0.12\mysql-connector-java-8.0.12.jar
数据库名称-公式
表名-单元批次
我正在尝试使用querydatabasetable访问表中的所有记录,

但我有个错误,

我基本上无法连接到mysql并从表中获取数据。
错误的完整堆栈跟踪:

2018-09-18 09:52:30,917 ERROR [Timer-Driven Process Thread-1] o.a.n.p.standard.QueryDatabaseTable QueryDatabaseTable[id=d5293f61-0165-1000-cd8d-fe9155176abd] Unable to execute SQL select query SELECT * FROM cell_lot due to org.apache.nifi.processor.exception.ProcessException: org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'com.mysql.cj.jdbc.Driver' for connect URL 'jdbc:mysql://127.0.0.1:3306/formulae
': org.apache.nifi.processor.exception.ProcessException: org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'com.mysql.cj.jdbc.Driver' for connect URL 'jdbc:mysql://127.0.0.1:3306/formulae
'
org.apache.nifi.processor.exception.ProcessException: org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'com.mysql.cj.jdbc.Driver' for connect URL 'jdbc:mysql://127.0.0.1:3306/formulae
'
    at org.apache.nifi.dbcp.DBCPConnectionPool.getConnection(DBCPConnectionPool.java:276)
    at org.apache.nifi.dbcp.DBCPService.getConnection(DBCPService.java:49)
    at sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:84)
    at com.sun.proxy.$Proxy102.getConnection(Unknown Source)
    at org.apache.nifi.processors.standard.QueryDatabaseTable.onTrigger(QueryDatabaseTable.java:303)
    at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1165)
    at org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:203)
    at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:117)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'com.mysql.cj.jdbc.Driver' for connect URL 'jdbc:mysql://127.0.0.1:3306/formulae
'
    at org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452)
    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)
    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
    at org.apache.nifi.dbcp.DBCPConnectionPool.getConnection(DBCPConnectionPool.java:273)
    ... 17 common frames omitted
Caused by: java.sql.SQLException: No suitable driver
    at java.sql.DriverManager.getDriver(DriverManager.java:315)
    at org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1437)
    ... 20 common frames omitted

非常感谢您的帮助!

pgccezyw

pgccezyw1#

我也面临同样的问题。我使用的是mysql-connector.jar,我把连接器改成了mysql-connector-java-5.1.24-bin.jar,结果成功了。我认为jdbc驱动程序的新版本存在兼容性问题。

相关问题