MySQL 8连接错误无法找到驱动程序类“org.gjt.mm.mysql.Driver”

hpxqektj  于 2023-01-20  发布在  Mysql
关注(0)|答案(7)|浏览(331)

在将Mysql 5.8的ETL脚本升级到MySQL8升级时,只要我将data-integration/lib jar更新到mysql-connector-java-8.0.xx.jar,它就开始吹,并出现以下error
找不到驱动程序类“org.gjt.mm.mysql.driver”,请确保安装了“MySQL”驱动程序(jar文件)。

vtwuwzda

vtwuwzda1#

你能试着把两个jar都加进去吗
数据集成/库
正如我所做的,我已经添加了5.x的最新jar,即mysql-connector-java-5.1.48.jar,我的相同版本是8.0.19,所以我添加了mysql-connector-java-8.0.19.jar,我复制到位置data-integration/lib
经过测试,它现在工作正常。

mkh04yzy

mkh04yzy2#

我确实花了很多时间调试,最后得出结论,两件事,我希望这可能会保存别人在类似情况下的时间。

原因org.pentaho.di.core.database.MySQLDatabaseMeta中存在hardcoded jdbc驱动器名称,它始终返回已删除的org.gjt.mm.mysql.Driver,并且应使用名称为com.mysql.jdbc.Drivercom.mysql.cj.jdbc.Driver的新Driver
解决方案应执行以下任一操作以解决问题。

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

1.使用Generic数据库连接,然后您可以自己指定驱动程序类(基于@Cyrus注解)。
Pentaho open错误参考。

v1l68za4

v1l68za43#

我使用的是pdi 9.1,为了消除这个错误,我所做的就是在data-integration\lib中复制这两个jar文件:

**mysql-连接器-java-5.1.49.jar

mysql-连接器-java-5.1.49-bin.jar**
上面的注解中提到了zip文件夹的链接
重新启动勺子!就这样。

px9o7tmv

px9o7tmv4#

我只想使用Pentaho版本9.1 - 9.1.0.0-324和mysql连接器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数据集成\库
4-执行Pentaho(Spoon.bat)

xam8gpfp

xam8gpfp5#

版本8的MySQL驱动程序更改了类名。因此,必须将其设置为通用连接,并使用com.mysql.jdbc.Driver作为类。

6rqinv9w

6rqinv9w6#

我已通过将mysql-connector-java-5.1.42-bin.jar替换为mysql-connector-java-5.1.44.jar修复了此问题
Reference

omvjsjqw

omvjsjqw7#

我正在使用Pentaho 9.1.0.0-324,也遇到了同样的问题。我下载了Everything应用程序,通过它我发现在C:\Program Files (x86)\MySQL\Connector J 8.0\文件夹中已经有一个名为mysql-connector-j-8.0.31.jar的文件。我只是简单地将该文件复制到C:\Pentaho\lib中,问题就解决了。但是,现在我又收到了如下错误:
连接失败。请验证所有连接参数并确认安装了适当的驱动程序。用户'root'@' localhost'的访问被拒绝(使用密码:是)

    • 更新**

我解决了Access denied错误,重新安装MySQL与传统的密码选项以及密码没有非字母符号。

相关问题