今早,进行数据迁移的时候,新建转换什么的老是提示“kettle读取共享数据流失败”的错误,执行转换有时也会报错。
百度原因是:共享DB链接中有的名称包含中文,将含中文的DB连接修改会英文后,执行仍然会报这个错误,原因是之前共享的DB链接的中文名称已经写入.xml文件,可以将该.xml文件修改文件名后重新共享DB链接即可。
[kettle读取共享文件时报错-CSDN博客]
详细步骤如下:
1.关机汤匙
2.浏览到主目录[C:\ users \ xxxx]>转到.kettle文件夹[C:\ users \ xxxx.kettle]>您应该看到一个shared.xml文件。
3.将shared.xml文件重
命名为oldshared.xml。4. 然后启动spoon并再次尝试(创建新转换并尝试保存它)。
备注:kettle中除了DB连接不能用中文,其余转换中的输入、输出表,作业中的SQL、转换等都可以用中文名。
问题2:
插入数据提示“当 IDENTITY_INSERT 设置为 OFF 时,不能为表 ‘Xxx’ 中的标识列插入显式值”
原因:数据库中表Xxx设置了自增列
解决办法:
将select * 修改为 select 具体字段
注意:
1. 一定要标明具体的字段名,不能用"*"
2. 一定要关闭IDENTITY_INSERT, 即:set identity_insert Xxx off 否则 再次添加数据时,无法自增长,提示错误信息: 当IDENTITY_INSERT 设置为ON 或某个复制用户向NOT FOR REPLICATION标识列中插入内容时,必须为表’Xxx’中的标识列指定显式值。