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



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

但这产生了解释日期前后不一的混乱和滑稽效果。任何日期,如果日期大于本月12日,都是正确的被解释为dd/mm/yyyy,但任何低于这个值的都是向后的。

因此,2012年2月15日应正确解读为2012年2月份15日。

但2012年9月2日将被愉快地解释为2012年9月份2日。

这个问题很常见,我已经遇到过很多次了

首先,检查SSIS区域设置是否未设置为美国
您需要将其设置为英语(联合王国)或荷兰语(荷兰)
要执行此操作,请单击SSIS包中的任何位置,然后查看属性并设置LocaleID(在"其他"下)。在"连接管理器"中,选择flat_source_file连接,然后编辑属性面板中的LocaleID。如果这没有帮助,那么请执行以下操作:

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

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

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

最新更新