如何从数据库设置上下文变量
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+"'"
我正在尝试从 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+"'"