Sql-Server
將數據導入 SQL 時出現錯誤消息(導入和導出數據嚮導)
我正在嘗試使用導入和導出數據嚮導將 CSV 文件的內容導入 MSSQL 中的表中。
如果我將所有列都導入為字元串,我沒有問題,但是,我需要一列作為浮點數。(在 CSV 中,第 4 列是帶有兩位小數的貨幣金額,例如 $200.30)。
每當我將第 4 列的值設置為浮點數時,在導入過程中都會收到以下錯誤:
錯誤 0xc02020a1:數據流任務 1:數據轉換失敗。列“第 4 列”的數據轉換返回狀態值 2 和狀態文本“由於可能失去數據,無法轉換值。”。(SQL Server 導入和導出嚮導)
這是我要導入的數據的範例:
+----+------+----------+-----------+--------+ | 1 | 2014 | December | 400089323 | 8.03 | | 2 | 2014 | December | 400319749 | 45.65 | | 3 | 2014 | December | 400377067 | 38 | | 4 | 2014 | December | 400524693 | 0 | | 5 | 2014 | December | 400536070 | 125.31 | | 6 | 2014 | December | 400663546 | 266.95 | | 7 | 2014 | December | 400705907 | 218 | | 8 | 2014 | December | 400763025 | 244.39 | | 9 | 2014 | December | 400782510 | 12.89 | | 10 | 2014 | December | 400794040 | 61.04 | +----+------+----------+-----------+--------+
這是第 4 列的數據類型:
其餘列是“數字
$$ DT_NUMERIC $$" 除了第 2 列是 “字元串$$ DT_STR $$”。 我為第 4 列嘗試了不同的數據類型,例如數字和貨幣。這沒有用。
僅供參考:我使用的是 SQL Server 2012。
將其作為字元串導入並執行派生列以將其轉換為浮點數。無論轉換失敗的行都將被重定向到錯誤輸出,您至少可以看到問題所在。
平面文件連接遇到問題時會完全失敗。將它們盡可能鬆散地引入並在 SSIS 中添加結構通常會更有效率。
無論如何,您幾乎肯定不想使用浮點數。一旦它們在包裝內,就使用“數字”。