如何在 groovy 脚本中 运行 ODI 映射?
How to run ODI Mapping in groovy script?
我在 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
}
这个脚本打印映射名称,我只需要一种方法来执行它。请帮助!
oracle.odi.runtime.agent.invocation 中的 class RemoteRuntimeAgentInvoker 将让您开始场景或加载计划。
对于本地代理的执行,可以使用 oracle.odi.runtime.agent 中的 class RuntimeAgent 来完成。但是您将无法 运行 在本地代理上加载计划,它只能 运行 在远程代理上。
我在 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
}
这个脚本打印映射名称,我只需要一种方法来执行它。请帮助!
oracle.odi.runtime.agent.invocation 中的 class RemoteRuntimeAgentInvoker 将让您开始场景或加载计划。
对于本地代理的执行,可以使用 oracle.odi.runtime.agent 中的 class RuntimeAgent 来完成。但是您将无法 运行 在本地代理上加载计划,它只能 运行 在远程代理上。