kettle 加工抽取数据到另一个数据库运行常见的报错:
-
DB2 SQLCODE=-206, SQLSTATE=42703
定义表字段问题 解决办法 检查建表字段(要用大写),在DB2中,默认情况下所有的名称都可包含字符:A-Z(大写) 0到9 @、#、$和_(下划线),名称不能以数字和下划线开头 ; -
Error: SQLCODE=-302, SQLSTATE=22001, SQLERRMC=null, ERRORCODE=-4229, SQLSTATE=null
这个报错通常是由于插入的字段过长,目标表字段长度不够导致的; -
报
SQLCODE: -407, SQLSTATE: 23502
:不能把NULL值插入到定义为NOT NULL的列中,违反了完整性约束异常; -
报
Error: SQLCODE=-803, SQLSTATE=23505, SQLERRMC=2
违反了唯一性约束 检查建表的主键、外键和对字段的唯一约束等; -
报
Unexpected batch update error committing the database connection.
查看源表和目标表的表结构和定义 查看字段是否匹配; -
kettle 表输入 预览数据正常,但是运行报错
DB2 SQL Error: SQLCODE=-206, SQLSTATE=42703, SQLERRMC=XXXX_XX
, DRIVER`,此错误为XXXX_XX字段在数据库中找不到,检查下数据库表中这个字段名字命名 ; -
报
Unable to get module class path. (java.lang.RuntimeException: Unable to open JAR file, probably deleted: error in opening zip file)
需要删掉<kettle_home>/system/karaf/caches/
下的所有文件; -
报
org.pentaho.di.core.exception.KettleDatabaseException: Error occurred while trying to connect to the database Driver class 'net.sourceforge.jtds.jdbc.Driver' could not be found, make sure the 'MS SQL Server' driver (jar file) is installed.
原因是,kettle程序包里没有相关数据库的驱动 需要自己重新下载,例如这个报错就是sqlserver连不上,下载jtds.jar包放到kettle的libswt目录或者lib下,重新启动kettle即可