Groovy ODI-30104:关闭旧ID兼容模式时不支持模型内部ID

Groovy ODI-30104:关闭旧ID兼容模式时不支持模型内部ID,groovy,oracle-data-integrator,Groovy,Oracle Data Integrator,我们正在使用ODI 12c 我们已经创建了一个场景来执行包,其中添加了用于对模型进行反向工程的命令 下面是我们使用的脚本,但这给了我们一个模型Id错误: ODI-30104:关闭旧ID兼容模式时不支持模型内部ID 是否有任何方法可以使用groovy脚本提取模型的全局Id OdiPackage pkg = new OdiPackage(folder, "Pkg_Rev" + "SQL_MODEL5"); StepOdiCommand step1 = new StepOdiCommand(pkg,"

我们正在使用ODI 12c

我们已经创建了一个场景来执行包,其中添加了用于对模型进行反向工程的命令

下面是我们使用的脚本,但这给了我们一个模型Id错误:

ODI-30104:关闭旧ID兼容模式时不支持模型内部ID

是否有任何方法可以使用groovy脚本提取模型的全局Id

OdiPackage pkg = new OdiPackage(folder, "Pkg_Rev" + "SQL_MODEL5");
StepOdiCommand step1 = new StepOdiCommand(pkg,"step1_cmd_reset");
step1.setCommandExpression(new Expression("OdiReverseResetTable \"-MODEL="+mod.getModelId()+"\"",null, Expression.SqlGroupType.NONE));
StepOdiCommand step2 = new StepOdiCommand(pkg,"step2_cmd_reset");
step2.setCommandExpression(new Expression("OdiReverseGetMetaData \"-MODEL="+mod.getModelId()+"\"",null, Expression.SqlGroupType.NONE));
StepOdiCommand step3 = new StepOdiCommand(pkg,"step3_cmd_reset");
step3.setCommandExpression(new Expression("OdiReverseSetMetaData \"-MODEL="+mod.getModelId()+"\"",null, Expression.SqlGroupType.NONE));

pkg.setFirstStep(step1);
step1.setNextStepAfterSuccess(step2);
step2.setNextStepAfterSuccess(step3);
tme.persist(pkg)
tm.commit(txnStatus)
实际上,在12c中只使用全局ID(GUID)。因此,SDK和替换API都发生了变化


ODI中的大多数对象(包括)现在都从类oracle.ODI.domain.support.AbstractRepositoryEntity继承了getGlobalId()方法。

非常感谢您的快速响应,您的解决方案对我很有效。很高兴它有帮助,欢迎来到Stack Overflow@SantoshKadam。如果此答案或任何未来答案解决了您的问题,请将其标记为已接受。它可以确保未来的读者直接找到有用的东西,并对帮助你的人给予一点奖励。