在将Mysql 5.8的ETL脚本升级到MySQL8升级时,只要我将data-integration/lib jar更新到mysql-connector-java-8.0.xx.jar,它就开始吹,并出现以下error。找不到驱动程序类“org.gjt.mm.mysql.driver”,请确保安装了“MySQL”驱动程序(jar文件)。
Mysql 5.8
MySQL8
data-integration/lib
mysql-connector-java-8.0.xx.jar
error
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。经过测试,它现在工作正常。
5.x
mysql-connector-java-5.1.48.jar
mysql-connector-java-8.0.19.jar
mkh04yzy2#
我确实花了很多时间调试,最后得出结论,两件事,我希望这可能会保存别人在类似情况下的时间。
原因:org.pentaho.di.core.database.MySQLDatabaseMeta中存在hardcoded jdbc驱动器名称,它始终返回已删除的org.gjt.mm.mysql.Driver,并且应使用名称为com.mysql.jdbc.Driver或com.mysql.cj.jdbc.Driver的新Driver。解决方案应执行以下任一操作以解决问题。
org.pentaho.di.core.database.MySQLDatabaseMeta
hardcoded
org.gjt.mm.mysql.Driver
com.mysql.jdbc.Driver
com.mysql.cj.jdbc.Driver
Driver
1.继续使用旧的jdbc jar。1.修改org.pentaho.di.core.database.MySQLDatabaseMeta下面的方法,编译后放到classes目录下。
jdbc
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错误参考。
v1l68za43#
我使用的是pdi 9.1,为了消除这个错误,我所做的就是在data-integration\lib中复制这两个jar文件:
data-integration\lib
**mysql-连接器-java-5.1.49.jar
mysql-连接器-java-5.1.49-bin.jar**上面的注解中提到了zip文件夹的链接重新启动勺子!就这样。
px9o7tmv4#
我只想使用Pentaho版本9.1 - 9.1.0.0-324和mysql连接器java-8.0.251-确保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)
xam8gpfp5#
版本8的MySQL驱动程序更改了类名。因此,必须将其设置为通用连接,并使用com.mysql.jdbc.Driver作为类。
6rqinv9w6#
我已通过将mysql-connector-java-5.1.42-bin.jar替换为mysql-connector-java-5.1.44.jar修复了此问题Reference
mysql-connector-java-5.1.42-bin.jar
mysql-connector-java-5.1.44.jar
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'的访问被拒绝(使用密码:是)
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
我解决了Access denied错误,重新安装MySQL与传统的密码选项以及密码没有非字母符号。
Access denied
7条答案
按热度按时间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
。经过测试,它现在工作正常。
mkh04yzy2#
我确实花了很多时间调试,最后得出结论,两件事,我希望这可能会保存别人在类似情况下的时间。
原因:
org.pentaho.di.core.database.MySQLDatabaseMeta
中存在hardcoded
jdbc驱动器名称,它始终返回已删除的org.gjt.mm.mysql.Driver
,并且应使用名称为com.mysql.jdbc.Driver
或com.mysql.cj.jdbc.Driver
的新Driver
。解决方案应执行以下任一操作以解决问题。
1.继续使用旧的
jdbc
jar。1.修改
org.pentaho.di.core.database.MySQLDatabaseMeta
下面的方法,编译后放到classes
目录下。1.使用Generic数据库连接,然后您可以自己指定驱动程序类(基于@Cyrus注解)。
Pentaho open错误参考。
v1l68za43#
我使用的是pdi 9.1,为了消除这个错误,我所做的就是在
data-integration\lib
中复制这两个jar文件:**mysql-连接器-java-5.1.49.jar
mysql-连接器-java-5.1.49-bin.jar**
上面的注解中提到了zip文件夹的链接
重新启动勺子!就这样。
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)
xam8gpfp5#
版本8的MySQL驱动程序更改了类名。因此,必须将其设置为通用连接,并使用com.mysql.jdbc.Driver作为类。
6rqinv9w6#
我已通过将
mysql-connector-java-5.1.42-bin.jar
替换为mysql-connector-java-5.1.44.jar
修复了此问题Reference
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与传统的密码选项以及密码没有非字母符号。