2014-01-12 57 views
0

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

问候, 罗宾

+1

为什么要通过对数据库执行alter query来更改列大小? 这样做是正确的。从Siebel Tools更改列长度并运行EIM Mapping向导以同步相应的EIM表。 你已经试过这种方式吗?它不工作? –

+0

Sudip Saha - 我没有这样做,我知道如何去做。我想了解如果有人这样做会发生什么(使用alter query)。我想从概念上了解它。感谢您的回复。 – user1021822

回答

0

我劝你不改变现有的香草表列的长度,而是扩展数据库表中增加一个新列。就像提到的其他海报一样,您应该使用Siebel Tools进行此操作。然后,您还需要将此新字段的引用添加到EIM组件中(您也可以使用Siebel Tools)。

这是最佳做法。如果您的客户曾经完成了Oracle的Siebel代码审查,您将被告知要执行我上面描述的内容(而不是您正在考虑的内容)。

+0

我没有做到这一点,我知道如何去做。我想了解如果有人这样做会发生什么(使用alter query)。我想从概念上了解它。 – user1021822

2

如果你有兴趣了解概念,这里是我可以预见的含义。

a)使用alter table添加的表列实际上是无用的,因为应用程序无法使用它,因为它的定义从Siebel存储库中缺失。 b)如果更改现有列的长度,应用程序仍将使用Siebel存储库中提及的长度。

c)EIM进程会在运行作业之前加载数据字典时忽略新的列长度。

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

+0

感谢Sudip Saha的回答。所以,如果我运行EIM数据加载这个列的长度,我已经修改。 EIM会处理数据还是会给出一些错误?如果它会给出一些错误会是什么? – user1021822

0

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