2015-03-03 59 views
0

我正在使用Integration Services將數據從Excel文件加載到SQL Server表。當我嘗試將存儲爲double (DT_R8)的號碼發送到數據庫列中,其中數據存儲爲varchar(50)時,我發現一個奇怪的四捨五入。集成服務雙倍字符串

例如,考慮上圖中第一行第一列的數據。原始值是31.35,但作爲一個字符串它的存儲如下圖所示

enter image description here

我已經嘗試過出口到SQL之前使用交付列轉換轉換爲字符串,我還增加了一個回合(X,5)但我得到了同樣的結果。 鑑於我無法更改SQL列數據類型,我該如何解決這個問題?

+1

SSIS有奇怪的記憶,所以一旦關閉,然後再次嘗試使用錢數據類型 – mohan111 2015-03-03 10:51:46

+0

我通過SSIS語言中的數據類型'貨幣[DT_CY]' – Naigel 2015-03-03 12:44:08

+1

派生列解決金錢不過是貨幣[DT-CY] :) – mohan111 2015-03-03 13:03:23

回答

0

唯一的工作解決方案是將輸入類型從double (DT_R8)更改爲currency [DT_CY]。看起來在double (DT_R8)上進行的四捨五入使得解析在導出過程中以某種方式涉及時很困難。