2017-09-15 68 views
2

我在ODI中創建了數千個映射。我需要執行這些,但逐個執行它們似乎不是一個可行的選擇。如何在groovy腳本中運行ODI映射?

我想寫一個groovy腳本,可以獲取所有映射的列表,遍歷每個映射。我能夠實現這一點,但我無法弄清楚如何運行給定的映射。

這裏是我的腳本:

def fm = ((IMappingFinder) tme.getFinder(Mapping.class))   

def mappingList = fm.findAll().findAll{w -> w.getProject().getCode() == 'STOO'} 
if (mappingList == null){ 
    println "Map is null" 
} 

ms=mappingList.iterator() 
while(ms.hasNext()){ 
    ms_i = ms.next() 
    println ms_i.getName() // INSERT CODE TO EXECUTE MAPPING HERE 
} 

此腳本會打印映射名稱,我只是需要一種方法來執行它。請幫忙!

回答

1

來自oracle.odi.runtime.agent.invocation的類RemoteRuntimeAgentInvoker將允許您啓動方案或加載計劃。

對於在本地代理上的執行,可以使用oracle.odi.runtime.agent中的類RuntimeAgent完成。但是,您將無法在本地代理上運行Load Plans,它只能在遠程代理上運行。