kettle报错Unable to get value 'String(9999999)' from database resultset, index 5

0
大神们,
    帮忙看看, kettle报错Unable to get value 'String(9999999)' from database resultset, index 5
   源、目标表的结构和具体报错日志如下:
-- source
create table
    pay_record
    (
        id number not null,
        service varchar2(30),
        trade_id varchar2(20),
        request_time date,
        request_content clob,
        request_content_sign clob,
        response_time date,
        response_content clob,
        response_content_sign clob,
        notify_time date,
        notify_request_content clob,
        notify_request_content_sign clob,
        notify_response_content clob,
        notify_response_content_sign clob,
        trade_state varchar2(20),
        create_date date,
        update_date date,
        amount number,
        umpay_trade_no varchar2(30),
        constraint primarypay_record1 primary key (id)
    );
    
-- target
create table `pay_record_2` (
  `id` decimal(22,0) default null comment 'id',
  `service` varchar(30) default null comment '服务',
  `trade_id` varchar(20) default null comment '交易id',
  `request_time` date default null comment '请求时间',
  `request_content` longtext comment '请求内容',
  `request_content_sign` longtext comment '请求加密内容',
  `response_time` date default null comment '响应时间',
  `response_content` longtext comment '响应内容',
  `response_content_sign` longtext comment '响应加密内容',
  `notify_time` date default null comment '通知时间',
  `notify_request_content` longtext comment '通知请求内容',
  `notify_request_content_sign` longtext comment '通知请求加密内容',
  `notify_response_content` longtext comment '通知响应内容',
  `notify_response_content_sign` longtext comment '通知响应加密内容',
  `trade_state` varchar(20) default null comment '交易状态',
  `create_date` date default null comment '创建时间',
  `update_date` date default null comment '更新时间',
  `amount` decimal(22,0) default null comment '金额',
  `umpay_trade_no` varchar(30) default null comment '-',
  `etltime` timestamp not null default current_timestamp on update current_timestamp comment '数据加载时间'
) engine=innodb default charset=utf8 comment='-'


-- kettle 报错日志

2016/07/29 03:35:59 - ORCL_xelc_10.9.10.220_temp - 开始项[pay_record_2]
2016/07/29 03:35:59 - pay_record_2 - Loading transformation from repository [pay_record_2] in directory [/transform/ORCL_xelc_10.9.10.2
20]
2016/07/29 03:37:51 - pay_record_2 - 为了转换解除补丁开始  [pay_record_2]
2016/07/29 03:37:51 - pay_record_2.0 - Connected to database [MS_BDC_ETL_mysqlDB] (commit=1000)
2016/07/29 03:53:18 - pay_record.0 - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : Unexpected error
2016/07/29 03:53:18 - pay_record.0 - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : org.pentaho.di.core.ex
ception.KettleDatabaseException: 
2016/07/29 03:53:18 - pay_record.0 - Couldn't get row from result set
2016/07/29 03:53:18 - pay_record.0 - 
2016/07/29 03:53:18 - pay_record.0 - Unable to get value 'String(9999999)' from database resultset, index 5
2016/07/29 03:53:18 - pay_record.0 - Io 异常: 连接超时
2016/07/29 03:53:18 - pay_record.0 - 
2016/07/29 03:53:18 - pay_record.0 - 
2016/07/29 03:53:18 - pay_record.0 -     at org.pentaho.di.core.database.Database.getRow(Database.java:2397)
2016/07/29 03:53:18 - pay_record.0 -     at org.pentaho.di.core.database.Database.getRow(Database.java:2368)
2016/07/29 03:53:18 - pay_record.0 -     at org.pentaho.di.core.database.Database.getRow(Database.java:2346)
2016/07/29 03:53:18 - pay_record.0 -     at org.pentaho.di.trans.steps.tableinput.TableInput.doQuery(TableInput.java:247)
2016/07/29 03:53:18 - pay_record.0 -     at org.pentaho.di.trans.steps.tableinput.TableInput.processRow(TableInput.java:138)
2016/07/29 03:53:18 - pay_record.0 -     at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2016/07/29 03:53:18 - pay_record.0 -     at java.lang.Thread.run(Thread.java:745)
2016/07/29 03:53:18 - pay_record.0 - Caused by: org.pentaho.di.core.exception.KettleDatabaseException: 
2016/07/29 03:53:18 - pay_record.0 - Unable to get value 'String(9999999)' from database resultset, index 5
2016/07/29 03:53:18 - pay_record.0 - Io 异常: 连接超时
2016/07/29 03:53:18 - pay_record.0 - 
2016/07/29 03:53:18 - pay_record.0 -     at org.pentaho.di.core.row.value.ValueMetaBase.getValueFromResultSet(ValueMetaBase.java:4708)
2016/07/29 03:53:18 - pay_record.0 -     at org.pentaho.di.core.database.BaseDatabaseMeta.getValueFromResultSet(BaseDatabaseMeta.java:20
86)
2016/07/29 03:53:18 - pay_record.0 -     at org.pentaho.di.core.database.DatabaseMeta.getValueFromResultSet(DatabaseMeta.java:2853)
2016/07/29 03:53:18 - pay_record.0 -     at org.pentaho.di.core.database.Database.getRow(Database.java:2389)
2016/07/29 03:53:18 - pay_record.0 -     ... 6 more
2016/07/29 03:53:18 - pay_record.0 - Caused by: java.sql.SQLException: Io 异常: 连接超时
2016/07/29 03:53:18 - pay_record.0 -     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
2016/07/29 03:53:18 - pay_record.0 -     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
2016/07/29 03:53:18 - pay_record.0 -     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
2016/07/29 03:53:18 - pay_record.0 -     at oracle.jdbc.driver.T4CConnection.getChunkSize(T4CConnection.java:2733)
2016/07/29 03:53:18 - pay_record.0 -     at oracle.sql.CLOB.getChunkSize(CLOB.java:516)
2016/07/29 03:53:18 - pay_record.0 -     at oracle.sql.CLOB.getBufferSize(CLOB.java:534)
2016/07/29 03:53:18 - pay_record.0 -     at oracle.sql.CLOB.getCharacterStream(CLOB.java:278)
2016/07/29 03:53:18 - pay_record.0 -     at oracle.jdbc.driver.ClobAccessor.getString(ClobAccessor.java:229)
2016/07/29 03:53:18 - pay_record.0 -     at oracle.jdbc.driver.T4CClobAccessor.getString(T4CClobAccessor.java:70)
2016/07/29 03:53:18 - pay_record.0 -     at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:397)
2016/07/29 03:53:18 - pay_record.0 -     at org.pentaho.di.core.row.value.ValueMetaBase.getValueFromResultSet(ValueMetaBase.java:4672)
2016/07/29 03:53:18 - pay_record.0 -     ... 9 more
2016/07/29 03:53:18 - pay_record.0 - Finished reading query, closing connection.
2016/07/29 03:53:18 - pay_record.0 - 完成处理 (I=0, O=0, R=0, W=0, U=0, E=1
2016/07/29 03:53:18 - pay_record_2 - 转换被检测 
2016/07/29 03:53:18 - pay_record_2 - 转换正在杀死其他步骤!
2016/07/29 03:53:18 - pay_record_2 - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : 错误被检测到!
2016/07/29 03:53:18 - pay_record_2 - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : 错误被检测到!
已邀请:
0

子建 - Kettle讲师、顾问、数据仓库架构 2016-07-29 回答

字段值长度太长了,超过范围了,你原来的数据是CLOB类型的吧
0

ipple 2016-08-03 回答

对呢,那clob一般怎么处理呢?

要回复问题请先登录注册