项目场景:
最近在使用kettle将csv导入mysql中出现数据库连接失败的问题)
问题描述
先贴报错的bug:
Error connecting to database: (using class org.gjt.mm.mysql.Driver
中间的给忘错误给忘了
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
原因分析:
在没有看到最后一个原因时,我一度搜寻的是“using class org.gjt.mm.mysql.Driver”怀疑是驱动的问题
解决方案:
网络中的解决方案可以分为3类
1.将与mysql配对的jdbc驱动放入到kettle 文件的lib目录下。
2.查看在kettle数据库连接配置下的特征列表看是不是“org.gjt.mm.mysql.Drive”
3.你导入的驱动包中是否有“org\gjt\mm\mysql\Drive”路径
在排除以上解决方案后,我潜心看报的错误
发现了
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
说实话这个问题只有在JAVA IDE中连接数据库时出现过,此前的解决方案是在URL后边加入useSSL = false 当时比较纳闷但不了了之,今天在kettle中又出现了,仅找到一个
答案
思索之后怀疑是因为我的jdk版本太新了,和mysql驱动不兼容,到最后将jdk降到1.8u241才将问题解决。可以点击下载此版本