I did spent lot of time debugging and finally concluded, two things, I hope this may save others time in similar situation.
Reason: There is hardcoded
jdbc drive name in org.pentaho.di.core.database.MySQLDatabaseMeta
, and it always returns org.gjt.mm.mysql.Driver
which is removed and new Driver
with name com.mysql.jdbc.Driver
or com.mysql.cj.jdbc.Driver
should be used.
Solutions Any of below should be done to resolve.
- Continue using the old
jdbc
jar.
Modify the org.pentaho.di.core.database.MySQLDatabaseMeta
below method, compile and place it in classes
directory.
public String getDriverClass() {
if (getAccessType()==DatabaseMeta.TYPE_ACCESS_ODBC)
{
return "sun.jdbc.odbc.JdbcOdbcDriver";
}
else
{
return "com.mysql.cj.jdbc.Driver";
} }
Use the Generic database connection, then you can specify the driver class yourself. (Based on @Cyrus comment.)
Pentaho open bug reference.