You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pentaho无法从MariaDB读取数据(报invalid fetch size错误)

解决Pentaho Kettle Table Input连接MariaDB时的"invalid fetch size"错误

已成功连接到MariaDB数据库,连接测试正常,但使用Table Input转换执行简单查询SELECT * from patient limit 10;时,出现以下错误:

37:11 - Table input.0 - ERROR (version 9.3.0.0-428, build 9.3.0.0-428 from 2022-04-12 04.56.25 by buildguy) : 意外错误
2022/12/13 11:37:11 - Table input.0 - ERROR (version 9.3.0.0-428, build 9.3.0.0-428 from 2022-04-12 04.56.25 by buildguy) : org.pentaho.di.core.exception.KettleDatabaseException: 
2022/12/13 11:37:11 - Table input.0 - 执行SQL时发生错误: 
2022/12/13 11:37:11 - Table input.0 - SELECT * from patient limit 10;
2022/12/13 11:37:11 - Table input.0 - 
2022/12/13 11:37:11 - Table input.0 - (conn=49) 无效的抓取大小
2022/12/13 11:37:11 - Table input.0 - 
2022/12/13 11:37:11 - Table input.0 -   at org.pentaho.di.core.database.Database.openQuery(Database.java:1776)
2022/12/13 11:37:11 - Table input.0 -   at org.pentaho.di.trans.steps.tableinput.TableInput.doQuery(TableInput.java:242)
2022/12/13 11:37:11 - Table input.0 -   at org.pentaho.di.trans.steps.tableinput.TableInput.processRow(TableInput.java:143)
2022/12/13 11:37:11 - Table input.0 -   at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2022/12/13 11:37:11 - Table input.0 -   at java.lang.Thread.run(Thread.java:750)
2022/12/13 11:37:11 - Table input.0 - Caused by: java.sql.SQLSyntaxErrorException: (conn=49) 无效的抓取大小
2022/12/13 11:37:11 - Table input.0 -   at org.mariadb.jdbc.export.ExceptionFactory.createException(ExceptionFactory.java:282)
2022/12/13 11:37:11 - Table input.0 -   at org.mariadb.jdbc.export.ExceptionFactory.create(ExceptionFactory.java:336)
2022/12/13 11:37:11 - Table input.0 -   at org.mariadb.jdbc.Statement.setFetchSize(Statement.java:587)
2022/12/13 11:37:11 - Table input.0 -   at org.pentaho.di.core.database.Database.openQuery(Database.java:1754)
2022/12/13 11:37:11 - Table input.0 -   ... 4 more
2022/12/13 11:37:11 - Table input.0 - 完成查询读取,正在关闭连接
2022/12/13 11:37:11 - Table input.0 - 处理完成 (I=0, O=0, R=0, W=0, U=0, E=1)

解决方案

  • 修改数据库连接参数
    打开数据库连接配置的高级选项卡,添加参数useFetchSize=false,或设置fetchSize为正整数(如1000),保存后重新运行转换。

  • 调整Table Input步骤设置
    打开Table Input配置窗口,在选项区域取消勾选「使用抓取大小」,或手动设置合理的抓取大小值,保存后执行查询。

  • 更新JDBC驱动
    检查MariaDB JDBC驱动版本与Pentaho Kettle的兼容性,若驱动过旧,替换为最新稳定版驱动。

  • 修改连接URL
    在数据库连接URL末尾追加&useFetchSize=false,示例:

    jdbc:mariadb://localhost:3306/your_database?useFetchSize=false
    

    保存连接后重新测试。

内容的提问来源于stack exchange,提问作者moe_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 21:30:25