2014-07-14 58 views
0

我需要將列添加到ETL過程。除最後一個步驟外,所有步驟均成功完成 - ADO NET Destination(左側的「插入規範」元素)。ADO NET中可用目標列中缺少新添加的列目標

SSIS conditional split

新列出現就好在Conditional Split,既作爲源列和目的列。

ADO NET Destination(「插入規格」)中,新列僅出現在「Available Input Columns」的左側,而右側缺失(「Available Destination Columns」)。

ADO NET Destination mappings

我肯定知道我的新列存在於目標表。我錯過了一步嗎?


更新:
什麼也很有趣的是,當我將鼠標懸停在ADO NET目標元素我得到這樣的警告:

與名sold_price一個新列已經被添加到外部數據庫表。如果需要,使用高級編輯器刷新可用的目標列。

ADO NET Destination - new column added

+0

您指向的ADO .NET目標有沒有可用的新列?如果你是積極的,你就指向正確的目的地,而你沒有在離線模式下工作,請關閉軟件包並重新打開它。這將迫使設計者重新驗證所有的元數據 – billinkc

+0

謝謝@billinkc。已經嘗試過。 – Nelu

回答

10

上面的觀點是「編輯」得到刷新。

但是,說明要求提供「高級編輯器」。

SSIS advanced editor in Visual Studio

有一個在高級編輯器底部的 「刷新」 按鈕。單擊此按鈕將新列添加到「可用目標列」框中。

SSIS advanced editor view in Visual Studio

+0

任何想法如何更新可用的輸入列?E將新列添加到提供條件分割的源時? – KidCode

+0

我試過這個,我的新列還沒有顯示出來。我還有什麼可以嘗試的想法?我寧願不必刪除並重新添加所有內容,但也許這是剩下的唯一選擇? – Kris

1

我發現這種情況發生在其他轉換不時。我必須始終解決它的唯一方法,就是刪除數據流的連接器,然後重新連接,因爲有時他們似乎並不在SSIS 2008年

+0

剛剛嘗試過,列中仍然缺少可用目標列。 :( – Nelu

1

這是SSIS 2013:在目的地編輯器,有按鈕「新建...」旁邊的「表或視圖的名稱」。按下它,在代碼中編輯表名,按OK鍵。這將刪除當前的目標表並創建新的目錄表,並帶有更新的列,您可以立即映射該列。要小心,因爲這會丟失當前的目標表。