当我在pentaho勺子中保存转换时,我遇到了错误:
Error saving transformation to repository!
Error updating batch
Cannot insert duplicate key row in object 'dbo.R_STEP_ATTRIBUTE' with unique index 'IDX_RSAT'. The duplicate key value is (2314, PARTITIONING_SCHEMA, 0).
在我运行创建多个excel文件的作业之前,一切正常。当这项工作突然运行时,发生了内存问题并且作业中止。之后我试图保存我的文件,但它被删除保存但未保存。所以我失去了我创造的工作。
请帮我了解原因。
答案 0 :(得分:1)
目录的最后一次保存没有正常结束。
您可以通过放宽.kettle目录中的db-caches文件来修复它。
如果它不起作用,请创建一个新的存储库并复制新的存储库。尝试全局存储库导出/导入。然后擦除旧的rep并从刚刚重建的存储库中执行相同的操作。
中间存储库可能位于文件而不是数据库上。
如果是第一次这样做,请计划一到两个小时。
答案 1 :(得分:0)
有一种简单的方法可以恢复它。
正如 AlainD 所说,问题发生在您保存或删除转换时,突然失去连接或 Kettle 出现问题。
发生这种情况时,您会在表 R_STEP_ATTRIBUTE
中发现很多步骤记录。在显示的错误中是 [ID_TRANSFORMATION] = 2314
。
因此,如果您使用 R_TRANSFORMATION
检查表 [ID_TRANSFORMATION] = 2314
,可能不会找到具有该 ID 的任何转换。
检查后,您可以删除与该[ID_TRANSFORMATION]相关的所有记录,例如:
delete from R_STEP_ATTRIBUTE where ID_TRANSFORMATION=2314
答案 2 :(得分:0)
我们刚刚通过执行以下 SQL 语句解决了这个问题
DELETE
FROM R_STEP_ATTRIBUTE
WHERE ID_STEP NOT IN (SELECT ID_STEP FROM R_STEP)