kettle时间戳抽取数据出现错误

探讨了在Kettle中设置并使用变量时遇到的SQL参数传递错误,具体表现为索引超出范围的问题,分析了可能的原因及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么kettle里面设置一个变量,获取一个变量,到sql时会报下面的错误

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0DD2LR61-1583764108498)(http获取s://img-blog.csdnimg.cn/20200309222823536.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ExMTExMV9hZG1pbg==,size_16,color_FFFFFF,t_70)]接受两个参数就对,一个就错,但是我明明设置的是一个变量
接受的也是一个在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2020/03/09 22:12:38 - 更新最新日期数据 - 为了转换解除补丁开始 [更新最新日期数据]
2020/03/09 22:12:38 - 表输入.0 - Finished reading query, closing connection.
2020/03/09 22:12:38 - 设置变量.0 - Setting environment variables…
2020/03/09 22:12:38 - 设置变量.0 - Set variable MAXDATE to value [2036/03/19 21:19:46.000000000]
2020/03/09 22:12:38 - 表输入.0 - 完成处理 (I=1, O=0, R=0, W=1, U=0, E=0)
2020/03/09 22:12:38 - 设置变量.0 - Finished after 1 rows.
2020/03/09 22:12:38 - 设置变量.0 - 完成处理 (I=0, O=0, R=1, W=1, U=0, E=0)
2020/03/09 22:12:38 - 获取变量.0 - 完成处理 (I=0, O=0, R=1, W=1, U=0, E=0)
2020/03/09 22:12:39 - 查询最新日期的数据.0 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : Unexpected error
2020/03/09 22:12:39 - 查询最新日期的数据.0 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : org.pentaho.di.core.exception.KettleDatabaseException:
2020/03/09 22:12:39 - 查询最新日期的数据.0 - An error occurred executing SQL:
2020/03/09 22:12:39 - 查询最新日期的数据.0 - SELECT * FROM CARDFLOW where JZRQ >= ?
2020/03/09 22:12:39 - 查询最新日期的数据.0 -
2020/03/09 22:12:39 - 查询最新日期的数据.0 - offending row : [maxdate Timestamp], [maxdate_1 Date]
2020/03/09 22:12:39 - 查询最新日期的数据.0 -
2020/03/09 22:12:39 - 查询最新日期的数据.0 - Error setting value #2 [Date] on prepared statement
2020/03/09 22:12:39 - 查询最新日期的数据.0 - 索引 2 超出范围。
2020/03/09 22:12:39 - 查询最新日期的数据.0 -
2020/03/09 22:12:39 - 查询最新日期的数据.0 -
2020/03/09 22:12:39 - 查询最新日期的数据.0 -
2020/03/09 22:12:39 - 查询最新日期的数据.0 - at org.pentaho.di.core.database.Database.openQuery(Database.java:1765)
2020/03/09 22:12:39 - 查询最新日期的数据.0 - at org.pentaho.di.trans.steps.tableinput.TableInput.doQuery(TableInput.java:239)
2020/03/09 22:12:39 - 查询最新日期的数据.0 - at org.pentaho.di.trans.steps.tableinput.TableInput.processRow(TableInput.java:140)
2020/03/09 22:12:39 - 查询最新日期的数据.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2020/03/09 22:12:39 - 查询最新日期的数据.0 - at java.lang.Thread.run(Thread.java:745)
2020/03/09 22:12:39 - 查询最新日期的数据.0 - Caused by: org.pentaho.di.core.exception.KettleDatabaseException:
2020/03/09 22:12:39 - 查询最新日期的数据.0 - offending row : [maxdate Timestamp], [maxdate_1 Date]
2020/03/09 22:12:39 - 查询最新日期的数据.0 -
2020/03/09 22:12:39 - 查询最新日期的数据.0 - Error setting value #2 [Date] on prepared statement
2020/03/09 22:12:39 - 查询最新日期的数据.0 - 索引 2 超出范围。
2020/03/09 22:12:39 - 查询最新日期的数据.0 -
2020/03/09 22:12:39 - 查询最新日期的数据.0 -
2020/03/09 22:12:39 - 查询最新日期的数据.0 - at org.pentaho.di.core.database.Database.setValues(Database.java:1076)
2020/03/09 22:12:39 - 查询最新日期的数据.0 - at org.pentaho.di.core.database.Database.setValues(Database.java:1009)
2020/03/09 22:12:39 - 查询最新日期的数据.0 - at org.pentaho.di.core.database.Database.openQuery(Database.java:1711)
2020/03/09 22:12:39 - 查询最新日期的数据.0 - … 4 more
2020/03/09 22:12:39 - 查询最新日期的数据.0 - Caused by: org.pentaho.di.core.exception.KettleDatabaseException:
2020/03/09 22:12:39 - 查询最新日期的数据.0 - Error setting value #2 [Date] on prepared statement
2020/03/09 22:12:39 - 查询最新日期的数据.0 - 索引 2 超出范围。
2020/03/09 22:12:39 - 查询最新日期的数据.0 -
2020/03/09 22:12:39 - 查询最新日期的数据.0 - at org.pentaho.di.core.row.value.ValueMetaBase.setPreparedStatementValue(ValueMetaBase.java:5473)
2020/03/09 22:12:39 - 查询最新日期的数据.0 - at org.pentaho.di.core.database.Database.setValue(Database.java:1058)
2020/03/09 22:12:39 - 查询最新日期的数据.0 - at org.pentaho.di.core.database.Database.setValues(Database.java:1074)
2020/03/09 22:12:39 - 查询最新日期的数据.0 - … 6 more
2020/03/09 22:12:39 - 查询最新日期的数据.0 - Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 索引 2 超出范围。
2020/03/09 22:12:39 - 查询最新日期的数据.0 - at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)
2020/03/09 22:12:39 - 查询最新日期的数据.0 - at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setterGetParam(SQLServerPreparedStatement.java:700)
2020/03/09 22:12:39 - 查询最新日期的数据.0 - at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setNull(SQLServerPreparedStatement.java:888)
2020/03/09 22:12:39 - 查询最新日期的数据.0 - at org.pentaho.di.core.row.value.ValueMetaBase.setPreparedStatementValue(ValueMetaBase.java:5434)
2020/03/09 22:12:39 - 查询最新日期的数据.0 - … 8 more
2020/03/09 22:12:39 - 查询最新日期的数据.0 - Finished reading query, closing connection.
2020/03/09 22:12:39 - 查询最新日期的数据.0 - 完成处理 (I=0, O=0, R=1, W=0, U=0, E=1)
2020/03/09 22:12:39 - 更新最新日期数据 - 转换被检测
2020/03/09 22:12:39 - 更新最新日期数据 - 转换正在杀死其他步骤!
2020/03/09 22:12:39 - 更新最新日期数据 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : 错误被检测到!
2020/03/09 22:12:39 - Spoon - 转换完成!!
2020/03/09 22:12:39 - 更新最新日期数据 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : 错误被检测到!
2020/03/09 22:12:39 - 更新最新日期数据 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : 错误被检测到!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值