SSIS数据类型转换问题

时间:2019-02-15 13:00:02

标签: sql-server ssis etl lookup data-conversion

我已经用FlatfileImport(csv)--- DataConversion ---查找转换--- OLDDBDestination构建了一个SSIS包。该软件包在DataConversion和SearchTransformation之间存在错误。

在导入csv之后,我尝试将一个csv字段转换为十进制,因为在DB中,该字段具有十进制格式,但是当我在从csv表到db表的“查找转换”中建立连接时,出现数据类型错误不一样。

有什么问题吗?

1 个答案:

答案 0 :(得分:0)

确保在查找中使用的两列的SSIS数据类型都匹配。十进制转换产生的数据类型应为DT_NUMERIC,它对应于documentation的映射表中所述的SQL Server十进制数据类型。要验证映射中用于匹配查找的输入列的数据类型也是DT_NUMERIC,请右键单击查找,然后选择显示高级编辑器。之后,转到输入和输出属性选项卡,然后进入查找输入节点,展开其下方的输入列文件夹并突出显示使用的列在查找中。右侧的“公共属性”窗口将显示数据类型。如果不是DT_NUMERIC,请更改查找以改为使用SQL查询,并使用SQL命令将此列转换为十进制(SQL Server)数据类型,然后在“高级”中确认它现在为DT_NUMERIC编辑。我假设Lookup是针对SQL Server数据库的,如果没有看到上面SSIS参考的数据映射表中的其他列。您还需要确保Lookup中使用的两列的比例和精度相同,也可以在Lookup的Advanced编辑器中查看它们。对于数据转换任务,可以在常规编辑器或高级编辑器中找到,方法是转到输入和输出属性> 数据转换输出> 输出列< / strong>>,然后选择已转换的列。