Я потратил много времени на отладку и, наконец, пришел к выводу, две вещи, надеюсь, это может сэкономить время других в аналогичной ситуации.
Причина : в org.pentaho.di.core.database.MySQLDatabaseMeta
есть hardcoded
имя диска jdbc, и оно всегда возвращает org.gjt.mm.mysql.Driver
, которое удалено, и новое Driver
с именем com.mysql.jdbc.Driver
или com.mysql.cj.jdbc.Driver
должно быть б.
Решения Для решения необходимо выполнить любое из следующих действий.
- Продолжайте использовать старую банку
jdbc
.
Измените метод 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";
} }
Используйте общее соединение с базой данных, тогда вы можете указать класс драйвера самостоятельно. (На основе комментария @Cyrus.)
Pentaho open ссылка на ошибку.