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.Drivercom.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] 失败

kettle-8.3.0.0连接MySQL报错

Pentaho 中的 Hive 数据集成错误

无法连接到 Pentaho Kettle 中的 PostgreSQL 数据库

Pentaho 8.0 中的无效数据源错误(oracle)

Pentaho Kettle 无效的 JNDI 连接无法创建与数据库服务器的连接