>假设我们有一个现有的siebel列,并且该列也有相应的映射eim列。如果我通过从后端运行 alter 查询将这个 siebel 基表列的长度从 100 更改为 200varhcar。它将如何影响EIM流程?导入过程会成功吗?
问候知更鸟
如果您有兴趣从概念上了解,以下是我可以预见的含义。
a) 使用 alter table 添加的表列实际上是无用的,因为应用程序将无法使用它,因为 Siebel 存储库中缺少其定义。
b) 如果更改现有列的长度,应用程序仍将使用 Siebel 存储库中提到的长度。
c) EIM 进程将忽略您的新列长度,因为它会在运行作业之前加载数据字典。
d) 最后,在代码迁移期间,您每次都必须执行更改表,因为 DDLSync 进程无法处理您的场景。
我建议您不要更改现有原版表列的长度,而是扩展数据库表以添加新列。正如另一张海报所提到的,您应该使用 Siebel Tools 来执行此操作。然后,您还需要将此新字段的引用添加到 EIM 组件中(您也可以使用 Siebel 工具执行此操作)。
这是最佳做法。如果您的客户曾经由 Oracle 完成过 Siebel 代码审查,您将被告知要执行我上面描述的操作(而不是您正在考虑执行的操作)。
使用 alter table 命令更改列长度只会在数据库层中更改它,这不会对 Siebel 的立场产生影响。EIM 表仍然有效,因为它们将使用工具发送的存储库中提到的列长度。如果您不在工具中更改它并应用表格,我认为更改将不起作用。
我不建议你这样做。在这种情况下,可能什么都不会出错。EIM 列将加载长度不超过 100 个字符的数据,但从 gui 中,您最多可以插入 200 个字符。可能会出现意外情况,我们需要更好地了解您的应用程序才能回答这个问题。