嗨,我是odi新手,我已经安装了odi 11g,并使用oracle教程创建了主存储库和工作存储库
here
在这之后,我遵循了他们提供的教程here来创建odi项目和接口,以便将平面文件导出到平面文件。在进入步骤4之前,我在本教程中执行了几个步骤,标题是为平面文件到平面文件的转换创建一个新的odi接口。
以下是我在完成本教程中的所有步骤后得到的映射流,它与本步骤中显示的完全不同:
根据本教程,我应该单击ss_0(1-file_generic)源数据存储。这将使源的属性显示在下面。在lkm选择器部分,从lkm下拉列表中选择lkm file to sql(如果尚未选择)。但我看不到那样的东西。
如果有人知道原因,请帮忙。可能是我漏掉了什么,或者是做错了什么。
最佳答案
你可能错过了第二步的一部分。
单击Overview选项卡并选择“in memory engine:sunopsis_memory_engine”作为暂存区域。
然后返回flow选项卡,您应该看到三个独立的组,而不是一个。
点击中间组的数据存储区(暂存区),您就可以在那里设置lkm。
我们需要选择不同的暂存区域的原因是,odi通常会尝试让底层技术完成大部分工作。如果加载Oracle数据库,ODI将生成SQL代码并让数据库自己执行它。这在文件技术中是不可能的,因为文件不能自己执行代码。因此,我们将使用odi的内存引擎sunopsis_memory_engine进行转换和加载。
这个sunopsis_内存引擎实际上是一个hsql数据库。它在代理的jvm内存中(如果使用本地代理,则为odi studio)。
关于database - 无法完成ODI平面文件到平面文件导出的Oracle示例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27315578/