使用SSIS将CSV文件导入SQL Server表

时间:2015-12-12 20:19:31

标签: sql sql-server ssis

我有一个要求,我需要从General文件将数据加载到SQL Server表中。该文件有大约20列,每个列的数据类型都设置为Currency

但是,有几列属于cAmount类型。我试图通过SSIS中的DFT加载文件。加载文件时,SSIS在源任务失败,错误消息显示

  

无法进行转换,因为它可能会导致潜在的数据丢失

其中一个金额列(我们称之为DT_CR(currency)),其金额为美元。这是SSIS的失败。它失败了,SSIS中的列元数据设置为DT_STR.CSV。但是,如果我在cp /media/[username]/[USB_drive_name]/beam.py [destination] 文件中将此类型更改为数字或常规,则会成功,没有任何问题。

是否存在我未正确执行的操作或是否无法将货币类型加载到SQL Server表中?

如果上述查询令人困惑,并且我需要分享相同的屏幕截图,请告诉我。

1 个答案:

答案 0 :(得分:0)

请检查您的数据金额是否包含货币符号,例如($)。 您不能将货币符号插入货币字段(sql server中的底层实现是十进制(19,4))。

如果要插入带有货币符号的数据,请先插入临时表,其中" money"字段定义为varchar。然后更新此字段并删除所有货币符号。然后写另一个SQL语句将数据从临时表移动到真实表。