2017-06-21 246 views
0

我已經OdiOSCommand用命令: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 !" 

但分配的這種方法是行不通的。

同樣的問題在echo「something」> #TEMP。這不會做任何事情。

#TEMP仍然只包含默認值。

我是否需要特殊的語法來操作命令中的ODI變量? 你能告訴我怎樣才能給ODI變量賦值?

非常感謝。

回答

0

沒有其他的方式來改變ODI可變除了兩種可能性:與類型Refresh Variable

  • 使用與型Set Variable
  • 將變步

    1. 使用可變步拖放變量成包並在「屬性」窗口的「常規」選項卡上選擇適當的類型

      如果您正在尋找更靈活的機制在會話期間在內存中存儲值,則可以使用Java BeanShell替換。 Anywehere你可以寫

      <@TEMP="Hello world!"@> 
      

      這種替代將消失在執行,但在會話運行TEMP變量會分配的值。某處在進一步的步驟,你可以寫

      <@[email protected]> 
      

      現在的取代由變量的當前值代替。您也可以在ODI變量賦值或刷新中使用這樣的構造。