kettle jdbc MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT'

kettle 使用表输入连接mysql获取字段名时,报check the manual that corresponds to your MySQL server version for the right syntax to use near ‘OPTION SQL_SELECT_LIMIT=DEFAULT’ 错误,记录报错信息和处理结果,供大家参考

报错信息:

Couldn’t get field info from [SELECT * FROM oa.applies]
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘OPTION SQL_SELECT_LIMIT=DEFAULT’ at line 1

kettle环境信息
###########################

centos:centos 7.4

java:jdk8

kettle:pdi-ce-8.2.0.0-342

mysql:mysql 5.7

mysql java connect:mysql-connector-java-5.1.17.jar

###########################

kettle 报错原因分析:
5.6以下的mysql数据库,在连接数据库时候会发送测试语句SET OPTION SQL_SELECT_LIMIT=DEFAULT,通常在mysql-connector-java-5.1.25.jar以前为了保持5.6的兼容,保留了此功能,若是mysql server版本号小于5.6,那么此功能支持;
若mysql版本号大于5.6,那么则不支持此功能,需要升级mysql connector版本,否则会引起此报错。

解决办法
升级mysql-connector-java为mysql-connector-java-5.1.47.jar,即可正常使用。

参考资料

Connector/J version Driver Type(驱动类型) JDBC version(jdbc版本) MySQL Server version(mysql server版本号) Status(状态)
8.0 4 4.2 5.6, 5.7, 8.0 一般可用,推荐版本
5.1 4 3.0, 4.0, 4.1, 4.2 5.6*, 5.7*, 8.0* 一般可用
5.0 4 3.0 4.1,5.0
3.1 4 3.0 4.1,5.0
3.0 4 3.0 3.x,4.1

你可能感兴趣的:(ETL-kettle)