达梦数据库数据迁移问题记录:表输出.0 - 记录超长

使用kettle工具将数据从Mysql迁移至达梦数据库时,输出错误:记录超长

2021/09/28 17:26:58 - 表输出.0 - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : Because of an error, this step can't continue:
2021/09/28 17:26:58 - 表输出.0 - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : org.pentaho.di.core.exception.KettleException: 
2021/09/28 17:26:58 - 表输出.0 - Error batch inserting rows into table [oa_mail].
2021/09/28 17:26:58 - 表输出.0 - Errors encountered (first 10):
2021/09/28 17:26:58 - 表输出.0 - 
2021/09/28 17:26:58 - 表输出.0 - 
2021/09/28 17:26:58 - 表输出.0 - Error updating batch
2021/09/28 17:26:58 - 表输出.0 - 记录超长
2021/09/28 17:26:58 - 表输出.0 - 
2021/09/28 17:26:58 - 表输出.0 - 
2021/09/28 17:26:58 - 表输出.0 -  at org.pentaho.di.trans.steps.tableoutput.TableOutput.writeToTable(TableOutput.java:349)
2021/09/28 17:26:58 - 表输出.0 -  at org.pentaho.di.trans.steps.tableoutput.TableOutput.processRow(TableOutput.java:125)
2021/09/28 17:26:58 - 表输出.0 -  at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2021/09/28 17:26:58 - 表输出.0 -  at java.lang.Thread.run(Thread.java:745)
2021/09/28 17:26:58 - 表输出.0 - Caused by: org.pentaho.di.core.exception.KettleDatabaseBatchException: 
2021/09/28 17:26:58 - 表输出.0 - Error updating batch
2021/09/28 17:26:58 - 表输出.0 - 记录超长
2021/09/28 17:26:58 - 表输出.0 - 
2021/09/28 17:26:58 - 表输出.0 -  at org.pentaho.di.core.database.Database.createKettleDatabaseBatchException(Database.java:1427)
2021/09/28 17:26:58 - 表输出.0 -  at org.pentaho.di.trans.steps.tableoutput.TableOutput.writeToTable(TableOutput.java:296)
2021/09/28 17:26:58 - 表输出.0 -  ... 3 more
2021/09/28 17:26:58 - 表输出.0 - Caused by: java.sql.BatchUpdateException: 记录超长
2021/09/28 17:26:58 - 表输出.0 -  at dm.jdbc.driver.DBError.throwBatchUpdateException(DBError.java:687)
2021/09/28 17:26:58 - 表输出.0 -  at dm.jdbc.a.a.a(DBAccess.java:565)
2021/09/28 17:26:58 - 表输出.0 -  at dm.jdbc.driver.DmdbPreparedStatement.do_executeLargeBatch(DmdbPreparedStatement.java:504)
2021/09/28 17:26:58 - 表输出.0 -  at dm.jdbc.driver.DmdbPreparedStatement.do_executeBatch(DmdbPreparedStatement.java

 从网上查找相关回答后,基本都是通过设置字段长度。达梦数据库可存储大文本的数据类型有text、blob、clob、image,且最大长度都是1-2G,相当于oracle long字段的长度,blob和image类型的字段内容必须存储十六进制数字串内容。我在将疑似值超长的字段设置为text后,依旧不行。后通过在DM管理工具中设置该表的存储选项--》启用超长记录,即可解决该错误。

 

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值