2013-02-01 67 views
5

我正在嘗試閱讀SSIS(2005/2008)中的文本文件。我創建該文件的連接,並放置平面文件源,並在預覽工作正常,但當我嘗試運行我得到錯誤說:如何在不更改部署服務器上的區域設置的情況下導入平面文件?

[Derived Column [91848]] 
Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR 

所以我已經確定,有與十進制數情侶列其中使用時段作爲分隔符。但是因爲我在斯堪的納維亞的環境下工作,服務器期望逗號作爲分隔符。

在windows服務器的區域設置中,手動將分隔符從逗號更改爲句點,但這不是一個適當的解決方案。

如何使用SSIS導入平面文件而無需更改部署包的服務器上的區域設置?

回答

6

您應該能夠在平面文件連接對象上設置LocaleID。在閱讀該文件時,這將應用英文區域設置,而不會影響計算機上的其他內容。 (看在屬性窗口,而不是編輯器對話框。)

平面文件連接上的下Connection Managers部分單擊鼠標右鍵,選擇Properties。您也可以選擇平面文件連接管理器,然後按F4查看屬性。

Flat file connection manager

將根據您的喜好LocaleID

LocaleID property

+0

沒有幫助,但是我用派生列解決它...... – Rupal

+0

我卻反其道而行之,充滿了逗號的文本文件的小數點分隔符和設置的LocaleID挪威。導入的字段爲十進制就好了。我的猜測是,您在更改LocaleID後沒有刷新列映射。 – Bill

+0

在SSIS 2012中爲我工作:在小數點分隔符中使用逗號作爲文本文件,在控制面板中將美國作爲區域格式,美國作爲連接對象中的語言環境 - >失敗。 Nynorsk(挪威)將連接對象的語言環境更改爲挪威語,解決了這個問題,無需刷新列映射。 – mprost

相關問題