如何将tMysqlRow中的select查询结果记录到Talend中的tLogRow?

时间:2015-09-30 04:41:16

标签: mysql talend

我有一个简单的工作,两个组件tMysqlRow通过Row / Main连接到tLogRow。

我在tMysqlRow组件中有一个简单的select语句,我直接在db上测试它并且它可以工作并返回一条记录。当我运行该作业时,它显示“0.04s中的1行”,所以我认为这意味着tMysqlRow组件从数据库获得1行。

在tLogRow组件中,我按下了基本选项卡上的“同步列”按钮,当我编辑架构时,我可以看到所有列都在那里。

但是当我运行这份工作时,会记录以下内容:

Starting job LoadContextVariablesFromDBRecordDemo at 13:07 30/09/2015.
[statistics] connecting to socket on port 3714
[statistics] connected

||||||

[statistics] disconnected
Job LoadContextVariablesFromDBRecordDemo ended at 13:07 30/09/2015. [exit code=0]

所以我不知道为什么没有记录这些值?

我在这里做错了什么?

此致

斯科特

1 个答案:

答案 0 :(得分:2)

所以我从talend论坛得到一些建议告诉我:

  

你真的需要使用tMysqlRow组件吗?据我所知,   tMysqlInput只是您需要的组件。它直接返回   查询的结果并将其传播到流中。 tMysqlRow   默认情况下,组件不处理返回的数据。如果你   被限制使用tMysqlRow组件,你必须检查   在tMysqlRow的高级设置中传播QUERY的记录集   组件然后使用tParseRecordSet组件来提取   数据。有关更多信息和指南,请参阅tMysqlRow   组件指南页面。还有一个如何做到这一点的例子。

URL to the forum post

在解决了tMysqlInput组件显示警告消息后,我遇到了另一个问题:

  

架构的dbType对于此组件

不正确

这也是在同一个线程中解决的。

此致

斯科特