首页 > 解决方案 > 如何将 ODI 接口转换为 SQL 查询?

问题描述

我正在开发 ODI 10 项目,该项目有 153 个接口,分为几个包。我想做的是用 INSERT 语句创建一个 PL/SQL 过程,而不是有 153 个接口。这些接口或多或少相似,即它们具有相同的源表和相同的目标(在我的例子中,目标是 Essbase Hyperion 多维数据集),转换和过滤器是不同的。因此,每当我必须更新列值之类的内容时,我都必须打开 153 个接口并在每个接口中进行更新。在一个过程中,我可以很容易地做到这一点,我可以替换所有值。

所以我觉得最好创建一个 PL/SQL 过程,因为这样我可以更好地维护代码。

有没有办法将接口转换为 SQL 查询?我想要一个直接的数据转储,我不想做一个复杂的增量加载。我只是想截断表格并加载数据。

提前致谢。

标签: oracleoracle-data-integrator

解决方案


可以从日志表中的 Operator 获取 ODI 生成的 SQL 代码。它也可以在存储库中检索。

这是一个查询 ODI 12c 的示例(10g 现在已经很久不支持了):

SELECT s.sess_no, s.nno, step_name, scen_task_no, def_txt
  FROM SNP_SESS_STEP s, SNP_SESS_TASK_LOG t 
  WHERE s.sess_no = t.sess_no  
  AND s.nno = t.nno;  

从 ODI 11g 开始,还可以模拟执行而不是实际执行。此功能将仅显示在 ODI Studio 中生成的代码,而不是运行它。

最后,升级到更新的 ODI 将允许使用 ODI SDK。有了它,您可以一次以编程方式对所有映射进行更改。可重用映射也可能有所帮助,因为听起来某些逻辑被多次实现。这将能够简化此类更改,同时保持 ELT 工具的优势(调度、监控、流程的可视化表示、跨技术......)。

免责声明:我是 Oracle 员工


推荐阅读