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