Pentaho MySQL 8 连接错误 Driver class 'org.gjt.mm.mysql.Driver' 找不到
Posted
技术标签:
【中文标题】Pentaho MySQL 8 连接错误 Driver class \'org.gjt.mm.mysql.Driver\' 找不到【英文标题】:Pantaho MySQL 8 connection error Driver class 'org.gjt.mm.mysql.Driver' could not be foundPentaho MySQL 8 连接错误 Driver class 'org.gjt.mm.mysql.Driver' 找不到 【发布时间】:2019-11-03 03:39:09 【问题描述】:在将 mysql 5.8
的 ETL 脚本升级到 MySQL8
升级时,一旦我将 data-integration/lib
jar 更新为 mysql-connector-java-8.0.xx.jar
,它就开始伴随着 error
。
找不到驱动类 'org.gjt.mm.mysql.Driver',请确保安装了 'MySQL' 驱动(jar 文件)。
【问题讨论】:
【参考方案1】:我确实花了很多时间调试,最后得出结论,两件事,我希望这可以在类似情况下节省其他人的时间。
原因:org.pentaho.di.core.database.MySQLDatabaseMeta
中有hardcoded
jdbc驱动名称,它总是返回org.gjt.mm.mysql.Driver
,它被删除,新的Driver
名称为com.mysql.jdbc.Driver
或com.mysql.cj.jdbc.Driver
应该使用。
解决方案应采取以下任何措施来解决。
-
继续使用旧的
jdbc
jar。
修改org.pentaho.di.core.database.MySQLDatabaseMeta
下面的方法,编译后放到classes
目录下。
public String getDriverClass()
if (getAccessType()==DatabaseMeta.TYPE_ACCESS_ODBC)
return "sun.jdbc.odbc.JdbcOdbcDriver";
else
return "com.mysql.cj.jdbc.Driver";
使用Generic数据库连接,那么你可以自己指定驱动类。 (基于@Cyrus 评论。)
Pentaho open 错误参考。
【讨论】:
你也可以使用Generic数据库连接,然后你可以自己指定驱动类。【参考方案2】:请您尝试将两个罐子都添加进去
数据集成/库
正如我所做的那样,我添加了5.x
的最新 jar,即 mysql-connector-java-5.1.48.jar
,而我的相同版本是 8.0.19,所以我添加了 mysql-connector-java-8.0.19.jar
我复制到位置 data-integration/lib
。
测试后它现在可以正常工作了。
【讨论】:
这实际上对我有用,但没有意义。【参考方案3】:版本 8 的 MySQL 驱动程序更改了类名。因此,您必须将其设置为通用连接,并使用 com.mysql.jdbc.Driver 作为类。
【讨论】:
【参考方案4】:我已通过将 mysql-connector-java-5.1.42-bin.jar
替换为 mysql-connector-java-5.1.44.jar
来解决此问题
Reference
【讨论】:
【参考方案5】:我正在使用 pdi 9.1,为了摆脱这个错误,我所做的只是将这两个 jar 文件复制到 data-integration\lib
:
mysql-connector-java-5.1.49.jar mysql-connector-java-5.1.49-bin.jar
上面的cmets中提到了zip文件夹的链接
重新启动你的勺子! 就是这样。
【讨论】:
【参考方案6】:我只是为了使用 Pentaho 版本 9.1 - 9.1.0.0-324 和 mysql-connector-java-8.0.25
1- 确保 Pentaho 没有运行。
2- 在以下链接下载 mysql 连接器。(https://mvnrepository.com/artifact/mysql/mysql-connector-java)
3- 复制 .jar 文件 (mysql-connector-java-8.0.25.jar) 并将其粘贴到您的 Lib 文件夹中:
示例:C:....\pentaho-data-integration\lib
4- 执行 Pentaho (Spoon.bat)
【讨论】:
以上是关于Pentaho MySQL 8 连接错误 Driver class 'org.gjt.mm.mysql.Driver' 找不到的主要内容,如果未能解决你的问题,请参考以下文章
Pentaho 错误 - ConnectionServiceImpl.ERROR_0009 - 连接到数据库 [null] 失败