2012-08-05 65 views
1

我繼承了一個現有的SSIS包,它將平面文件數據導入我的SQL Server 2005數據庫,我需要將「Gross Sales」列的數據類型從「numeric」更改爲「currency」。數據類型和導出包的數據類型保持數字SSIS平面文件連接管理器中的固定列數據類型不會更改。 :(

我也嘗試創建一個新的平面文件連接使用在同一個包中,但由於一些奇怪的原因,它仍然是數字而不是「cy」貨幣。猜猜在某些其他區域有什麼東西「卡住」,迫使最後一列保持數字嗎?

有誰知道更改平面文件數據源的數據類型的技巧嗎?

+0

目標的列類型是什麼?我在這個問題背後的原因是爲什麼擔心改變源的數據類型,你的焦點將是它到達目的地時的數據類型。 – 2012-08-05 04:32:20

+0

目的地的數據類型是十進制(9,2),但我將其更改爲「金錢」,以允許一些更大的新數據(某人在銷售中輸入了60億,然後將其無效,好!)。我做了一個簡單的小測試包來重現錯誤,並發現SSIS包由於它對平面文件數據的期望而中止。 – programmer 2012-08-05 04:39:50

+0

從我使用平面文件開始就有一段時間了,您是否嘗試過僅通過數據流轉換將其轉換爲貨幣。 – 2012-08-05 04:58:48

回答

1

感謝您對所有人的幫助。它看起來像我的情況下,我需要刪除並重新添加平面文件源步驟,並添加一個新的平面文件連接管理器。也許這是一個更好的方法,我只是在SSIS中的GUI迷宮中點錯了順序。 :D

0

您是否嘗試在DT中添加數據轉換轉換任務?

例如您可以將銷售總額修改爲

Gross Sales, Gross Sales_CONV Choose Currency [DT_CY] as your currency. 
+0

顯然上面只能應用於DT。不知道爲什麼數據類型在導入過程中不會更改。 – WaZ 2012-08-06 10:14:57

0

我也發現有時更改源和目​​標屬性中的ValidateExternalMetaData爲false將有所幫助。

相關問題