有沒有能統一管理一個參數,然后讓所有的transformation和job都可以讀到呢? 答案是有
1.首先,打開.kettle\kettle.properties(個人主機是:C:\Users\for_elegant\.kettle),直接在里面定義,(注意這個文件需要與spoon.bat放在同一個目錄下面)比如:
paramName=to_char(sysdate,'yyyymmdd') 這里支持數據庫函數,
說的更直白點,就是這里定義是個啥,那么在transformation里邊取到的它就是啥。
2.定義之后,保存,重啟spoon。
3.在需要的地方,直接%%paramName%%,或者${paramName}就可以得到。
舉例:
- SELECT COLUMN1,COLUMN2 FROM TESTTABLE WHERE to_char(cdate,'yyyymmdd')=${paramName}
或者
- SELECT COLUMN1,COLUMN2 FROM TESTTABLE WHERE to_char(cdate,'yyyymmdd')=%%paramName%%
也有人說${}這種方式是在linux下的,%%%%是在windows下的,反正我在windows下這兩種寫法均可。
最后別忘了把那個替換SQL語句里的變量這個勾上
如果在SQL語句中需要用到?作為參數 則需要使用從步驟插入數據而使用變量時則不需要使用此步驟
如果使用變量(${變量命名})如果是字符串則需要加'號('${變量名}')

來源:http://forlan.iteye.com/blog/2227905

