【问题标题】: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 文件)。

【问题讨论】:

    标签: mysql pentaho pentaho-data-integration mysql-8.0


    【解决方案1】:

    我确实花了很多时间调试,最后得出结论,两件事,我希望这可以在类似情况下节省其他人的时间。

    原因org.pentaho.di.core.database.MySQLDatabaseMeta中有hardcoded jdbc驱动名称,它总是返回org.gjt.mm.mysql.Driver,它被删除,新的Driver名称为com.mysql.jdbc.Drivercom.mysql.cj.jdbc.Driver应该使用。

    解决方案应采取以下任何措施来解决。

    1. 继续使用旧的jdbc jar。
    2. 修改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";
      }   }
      
    3. 使用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)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-09-26
            • 2015-04-23
            • 1970-01-01
            • 2014-11-24
            • 1970-01-01
            • 2022-01-14
            • 2019-06-06
            • 2013-12-22
            相关资源
            最近更新 更多