2017-09-15 29 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,它只能在远程代理上运行。