OdiOSCommand赋值变量

时间:2017-06-21 14:14:04

标签: oracle-data-integrator

我有OdiOSCommand命令:

OdiOSCommand "-ERR_FILE=/home/oracle/jmt.err" "-WORKING_DIR=#PROJECT_DIR" "-SYNCHRONOUS=YES" "-CAPTURE_OUT_STREAM=ON_ERROR[NONE]" "-CAPTURE_ERR_STREAM=ON_ERROR[NONE]"
#TEMP = "hello world !"

但这种分配方式不起作用。

同样的问题是回声“某事”> #TEMP。这不会做任何事情。

#TEMP仍然只包含默认值。

我是否需要特殊语法来操作命令中的ODI变量? 你能举例说明如何为ODI变量赋值?

非常感谢你。

1 个答案:

答案 0 :(得分:1)

除了两种可能性之外,没有其他方法可以更改ODI变量:

  1. 使用类型Refresh Variable
  2. 的变量步骤
  3. 使用类型Set Variable
  4. 的变量步骤

    将Variable拖放到包中,并在“属性”窗口的“常规”选项卡上选择正确的类型。

    如果您正在寻找更灵活的机制来在会话期间在内存中存储值,您可以使用Java BeanShell替换。你能写的任何地方

    <@TEMP="Hello world!"@>
    

    此替换将在执行时消失,但TEMP变量将在会话运行时保持分配值。您可以在其他步骤中编写

    <@=TEMP@>
    

    现在替换被变量的当前值替换。您也可以在ODI变量赋值或刷新中使用此类构造。