【问题标题】:Setting a database value to context variable in talend在 talend 中将数据库值设置为上下文变量
【发布时间】:2012-11-20 07:36:59
【问题描述】:

我的工作是这样流动的。

  tAccessDatabse_1 ---> tFileOutputXML_1. 

现在,我的数据库有一个带有用户名和用户 ID 的模式。我的任务是从数据库创建/发送数据到 xml 文件,文件名和用户名,即,必须为每个用户创建一个文件。

我尝试创建一个 conetxt 变量,但是如何从数据库中将用户名设置为该上下文变量??

【问题讨论】:

  • 你的问题很不清楚。您的意思是您需要从用于连接数据库的用户名中设置上下文变量,还是需要从来自 db 表的主要流程中创建上下文变量?

标签: talend


【解决方案1】:
  1. 从表中选择不同的用户名。
  2. 使用 tFlowToIterate 对每个用户名进行迭代。 (使用主链接将表格组件连接到该组件)
  3. 使用 Iterate 链接连接到 tJava 组件。
  4. 使用 tjava 组件将用户名分配给上下文变量。例如。如果表格组件的输出行是row1,则context.username=row1.username
  5. 使用'OnComponentOk'将tJava连接到表组件,以根据where条件从表中选择数据:username='"+context variable+"'
  6. 将数据写入文件。将文件名设为"<path>\"+context.username

【讨论】:

    【解决方案2】:

    tYOURDBInput -> [row1] -> tFlowToItterate -> [itterate] -> tJava -> "globalMap.put("DESC", (String)row1.column);"

    如果您只有一条线路,请通过

    在别处领取

    (String) globalMap.get("DESC")

    我使用此设置检索存储在要定期刷新的表中的外部系统的密码。这可以防止每次密码更改时重新生成代码。自然保护你的桌子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多