Red*_*Boy 6 mysql pentaho pentaho-data-integration mysql-8.0
在升级 ETL 脚本以Mysql 5.8
进行MySQL8
升级时,一旦我将data-integration/lib
jar 更新为mysql-connector-java-8.0.xx.jar
,它就开始出现以下error
.
找不到驱动程序类“org.gjt.mm.mysql.Driver”,请确保安装了“MySQL”驱动程序(jar 文件)。
小智 6
您能否尝试将两个罐子添加到
数据集成/lib
5.x
正如我所做的那样,我添加了最新的ie罐子mysql-connector-java-5.1.48.jar
,我的相同版本是 8.0.19,所以我添加了mysql-connector-java-8.0.19.jar
我复制到的位置data-integration/lib
。
经过测试,现在工作正常。
我确实花了很多时间调试并最终得出结论,有两件事,我希望这可以在类似情况下节省其他人的时间。
原因: 中有hardcoded
jdbc 驱动程序名称org.pentaho.di.core.database.MySQLDatabaseMeta
,并且它总是返回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";
} }
Run Code Online (Sandbox Code Playgroud)
使用Generic数据库连接,然后您可以自己指定驱动程序类。(基于@Cyrus 评论。)
Pentaho开放错误参考。
归档时间: |
|
查看次数: |
13786 次 |
最近记录: |