从平面文件导入SQL数据库时的日期格式问题

时间:2012-02-16 16:55:13

标签: sql-server date ssis

我创建了一个SSIS包,其中数据从平面传输中获取并传输到数据库。

但这对于解释日期不一致具有令人困惑和搞笑的效果。 任何日期,当天大于该月的第12天都是正确的 解释为dd / mm / yyyy,但任何低于该值的都会倒退。

所以02/15/2012将在2012年2月15日正确阅读。

但02/09/2012很高兴被解释为2012年9月2日。

1 个答案:

答案 0 :(得分:1)

这个问题很常见,我多次遇到过这种情况。

首先,检查您的SSIS区域设置是否未设置为美国。
您需要将其设置为英语(United Kindom)或荷兰语(荷兰)。
为此,请单击SSIS包中的任意位置并查看属性并设置LocaleID(在Misc下)。在Connection Manager中,选择flat_source_file Connection并在属性面板中编辑LocaleID。 如果这没有帮助,请执行以下操作:

我会将“平面文件源”中的源列设置为string数据类型 然后使用“数据转换”转换将日期列投射为DT_DATEDT_DBDate

DT_DATE是一个由年,月,日和小时组成的日期结构 DT_DBDATE是一个由年,月和日组成的日期结构。

现在在目标窗口中使用新的转换列。