Ошибка подключения Pantaho MySQL 8: класс драйвера 'org.gjt.mm.mysql.Driver' не найден - PullRequest
0 голосов
/ 20 июня 2019

При обновлении сценариев ETL для обновления Mysql 5.8 до MySQL8, как только я обновил data-integration/lib банку до mysql-connector-java-8.0.xx.jar, он начал дуть со следующими error.

Не удалось найти класс драйвера 'org.gjt.mm.mysql.Driver', убедитесь, что драйвер 'MySQL' (файл JAR) установлен.

Ответы [ 2 ]

1 голос
/ 20 июня 2019

Я потратил много времени на отладку и, наконец, пришел к выводу, две вещи, надеюсь, это может сэкономить время других в аналогичной ситуации.

Причина : в org.pentaho.di.core.database.MySQLDatabaseMeta есть hardcoded имя диска jdbc, и оно всегда возвращает org.gjt.mm.mysql.Driver, которое удалено, и новое Driver с именем com.mysql.jdbc.Driver или com.mysql.cj.jdbc.Driver должно быть б.

Решения Для решения необходимо выполнить любое из следующих действий.

  1. Продолжайте использовать старую банку jdbc.
  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. Используйте общее соединение с базой данных, тогда вы можете указать класс драйвера самостоятельно. (На основе комментария @Cyrus.)

Pentaho open ссылка на ошибку.

0 голосов
/ 20 июня 2019

Драйвер MySQL для версии 8 изменил имя класса. Поэтому вместо этого вы должны установить его как универсальное соединение и использовать com.mysql.jdbc.Driver в качестве класса.

...