Sql-Server

將數據導入 SQL 時出現錯誤消息(導入和導出數據嚮導)

  • June 28, 2015

我正在嘗試使用導入和導出數據嚮導將 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 中添加結構通常會更有效率。

無論如何,您幾乎肯定不想使用浮點數。一旦它們在包裝內,就使用“數字”。

引用自:https://dba.stackexchange.com/questions/91139