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

How to set context variable from database

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

key     | variable
name    | BigDecimal

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

如果您的 table 架构 (variable_name, variable_value) 并且每个行 ID 专用于一个作业,那么我建议您添加第三列,这样它将是 (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

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

context.myVariable = input_row.myColumn

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

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