2014-01-12 83 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表仍然有效,因爲它們將使用由工具發送的存儲庫中提及的列長度。如果你不在工具中改變它並應用表格,我不認爲這些更改會起作用。