0

我使用 Kettle 进行一些转换并遇到了一个问题:对于一个特定的行,我的 DatabaseLookup 步骤挂起。它只是没有给出结果。试图停止转换会导致查找步骤的“停止”永无止境。

给定的值一点也不复杂,它与所有其他行/值也没有什么不同。它只是不会继续。

直接在数据库中或在不同的数据库工具(例如 SQuirreL)中执行相同的查询,它可以工作。

我使用 Kettle/Spoon 4.1,数据库是 MySQL 5.5.10。它发生在 Connector/J 5.1.14 和与勺子捆绑在一起的那个。

该步骤完美地初始化(它甚至适用于其他行),我不知道它为什么会失败。Spoon 日志中没有错误消息,控制台/shell 上也没有任何错误消息。

4

2 回答 2

0

我刚刚找到了罪魁祸首:查找结果是 id 字段并给它一个新名称 PERSON_ID。这在某些情况下会失败!生成的查找/准备语句类似于

select id as PERSON_ID FROM table WHERE ...

解决方案:不要在字段的“新名称”中使用下划线!有了 PERSONID 的新名称,所有行都可以完美运行!

愚蠢的错误...

于 2011-08-08T15:32:49.593 回答
0

诡异的。表类型是什么?是迈萨姆吗?您的转换是否也对同一个表执行更新?也许你无意中同时锁定了桌子?

或者它可能是 mysql 5.5 的东西。但我在 mysql 5.0 和 pdi 4.everything 中广泛使用了这个步骤,它一直很好......也许发布转换?

于 2011-08-04T21:04:19.250 回答