如何从数据库设置上下文变量

时间:2015-07-13 13:35:12

标签: talend

我正在尝试从oracle数据库中的行设置上下文变量。我已经在数据库中设置了表格,如下所示:

key     | variable
name    | BigDecimal

我还创建了一个BigDecimal上下文变量。如何将上下文变量链接到数据库,以便可以在SQL查询中使用它?

1 个答案:

答案 0 :(得分:1)

如果你有一个包含模式(variable_name, variable_value)的表,并且每一行都专用于一个作业,那么我建议你添加第三列,使其成为(variable_name, variable_value, job_name),然后用简单的单一查询将得到当前工作的一行:

select variable_name, variable_value from context_table where job_name = '"+jobName+"';
--jobName is varibale global exists in each Talend by defaults

enter image description here

如果您的表未建模为上下文服务,但您需要将该表中的specefic值加载到上下文中,则必须使用TOracleRow执行查询并将结果传递给具有以下代码的tJavaRow:

context.myVariable = input_row.myColumn

如果要在其他查询中使用该上下文变量,则查询将如下所示:

"select a, b, c from table1 where a = '"+context.myVariable+"'"