2017-08-11 36 views
1

將數據插入DB2數據庫表時存在問題。 我遵循DataFlow中列的值,假設我說的值是0.0075,它從csv文件中正確讀取,並且在插入DataViewer之前檢查該值時它仍然是相同的值,但一旦它在桌子上,價值就變成了7.499。 同樣對於某些行的值不會改變,假設我有0.023它保持不變。 你知道會導致這種行爲嗎?你遇到過這個問題嗎? 非常感謝您的幫助。SSIS-DB2:將數據更改值插入到表中時

+0

目標表上是否有觸發器?提供關於如何訪問DB2的更多細節,它是SQL服務器中的鏈接表嗎?提供有關目標DB2表中的列數據類型以及應用程序中的數據類型的詳細信息。 – mao

+0

沒有觸發器,沒有在後臺運行。 其實就像從csv文件獲取信息並將其放入工作表一樣簡單。類型是不同的,在csv文件中它是雙精度浮點型(DT-R8),在表中它是數字型的(6,3),但這不應該改變值 –

+0

要求DB2 DBA顯示DB2從SSIS接收到的值(以確定發生變化的地方)。請DBA獨立於工具確認DB2列中的值(以防在查看數據時出現問題)。浮點數到小數點會涉及一些舍入,但是您的例子只有3位小數。 – mao

回答

2

而不是使用雙精度浮點數,請嘗試使用DT_NUMERIC,您可以在從源讀取時指定比例和精度。

+0

感謝它的工作 我仍然不明白奇怪的行爲,雖然 –

+0

這是使用float時的預期行爲。 https://en.wikipedia.org/wiki/Floating-point_arithmetic#Accuracy_problems – askids