将 ORACLE 关键字作为列的 XML 模型在逆向工程时未转换

XML model with ORACLE keyword as column not translated while reverse engineering

提问人:DirkNM 提问时间:1/1/2015 最后编辑:VC1DirkNM 更新时间:11/19/2019 访问量:730

问:

我正在使用 ODI 将 XML 文件从 Web 服务加载到数据库中。架构文件 (XSD) 定义一个名为“share”的元素。这是 oracle 中的一个关键字。对 XML 模型进行逆向工程时,ODI 会将列命名为“SHARE”。稍后,在生成和执行映射(应将数据加载到数据库表中)时,ODI 无法创建临时表,因为“SHARE”是 oracle 中的关键字。 文档告诉我们,XML 模式文件中的关键字将用下划线字符标记(即 SELECT 将重命名为 SELECT_),但关键字 SHARE 显然不是 ODI 使用的列表的一部分。

有没有机会扩展关键字列表或任何其他想法来解决这个问题。我无法更改架构文件,因为它不受我的控制。

XML Oracle Oracle-Data-Integrator

评论

0赞 psaraj12 1/3/2015
stackoverflow.com/questions/1162381/......请注意,用双引号声明区分大小写
0赞 DirkNM 1/3/2015
问题是,ODI 在生成的 DDL 代码中不使用双引号,我不知道如何告诉 ODI 这样做。
0赞 psaraj12 1/3/2015
community.oracle.com/thread/2133118 这篇文章建议在映射中处理它
0赞 psaraj12 1/5/2015
这是否解决了???
0赞 DirkNM 1/5/2015
很遗憾没有。问题不在于我的目标表。它是 KM 创建的临时表。我试图修改KM,但还没有运气。

答:

0赞 Stian Indal Haugseth 11/19/2019 #1

您是否尝试过内置(内存)引擎?它可能没有与 SHARED 作为保留名称相同的问题。

如果您使用外部数据库进行存储,是否值得一试?如果删除任何“外部数据库属性”,它应恢复为内置引擎。