【问题标题】:Changing Length of Siebel Column更改 Siebel 列的长度
【发布时间】:2018-04-01 20:57:22
【问题描述】:

假设我们有一个现有的 siebel 列,并且该列也有对应的映射 eim 列。如果我通过从后端运行 alter query 将此 siebel 基表的列的长度从 100 更改为 200varhcar。它将如何影响 EIM 流程?导入过程会成功吗?

问候, 罗宾

【问题讨论】:

  • 为什么要通过对数据库执行更改查询来更改列大小?以正确的方式去做。从 Siebel Tools 更改列长度并运行 EIM 映射向导以同步相应的 EIM 表。你已经尝试过这种方式了吗?它不工作吗?
  • Sudip Saha - 我还没做过,我知道怎么做。我想了解如果有人这样做会发生什么(使用更改查询)。我想从概念上了解它。感谢您的回复。

标签: siebel


【解决方案1】:

如果您有兴趣从概念上了解,以下是我可以预见的含义。

a) 使用 alter table 添加的表列实际上是无用的,因为应用程序无法使用它,因为 Siebel 存储库中缺少它的定义。

b) 如果您更改现有列的长度,应用程序仍将使用 Siebel 存储库中提到的长度。

c) EIM 进程将忽略您的新列长度,因为它会在运行作业之前加载数据字典。

d) 最后,在代码迁移期间,由于 DDLSync 进程无法处理您的场景,因此您必须每次都执行 alter table。

【讨论】:

  • 感谢 Sudip Saha 的回答。因此,如果我在已修改长度的列上运行 EIM 数据加载。 EIM 会处理数据还是会出错?如果它会给出一些错误,那会是什么?
【解决方案2】:

我建议您不要更改现有 vanilla 表列的长度,而是扩展数据库表以添加新列。正如另一张海报提到的那样,您应该使用 Siebel Tools 执行此操作。然后,您还需要将此新字段的引用添加到 EIM 组件中(您也可以使用 Siebel 工具来执行此操作)。

这是一个最佳实践。如果您的客户曾经由 Oracle 完成过 Siebel 代码审查,您会被告知按照我上面描述的方式(而不是您正在考虑的方式)。

【讨论】:

  • 我没做过,我知道怎么做。我想了解如果有人这样做会发生什么(使用更改查询)。我想从概念上了解它。
【解决方案3】:

使用 alter table 命令更改列长度只会在数据库层更改它,这对 siebel 的观点没有影响。 EIM 表仍然有效,因为它们将使用工具发送的存储库中提到的列长度。如果您不在工具中更改它并应用表格,我认为这些更改不会起作用。

【讨论】:

    【解决方案4】:

    我不建议您这样做。在这种情况下,可能什么都不会出错。 EIM 列将加载最多 100 个字符长的数据,但从 gui 中,您最多可以插入 200 个字符。意外可能会出错,我们需要更好地了解您的应用才能回答这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-19
      • 2012-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-16
      相关资源
      最近更新 更多