【问题标题】:Date format issue while importing from a flat file to an SQL database从平面文件导入 SQL 数据库时出现日期格式问题
【发布时间】:2012-02-16 16:55:13
【问题描述】:

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

但这会产生不一致的日期解释的混乱和搞笑效果。 日期大于该月 12 日的任何日期都是正确的 解释为 dd/mm/yyyy 但任何小于该值的内容都会倒退。

因此 02/15/2012 将被正确解读为 2012 年 2 月 15 日。

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

【问题讨论】:

标签: sql-server date ssis


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多