【发布时间】:2017-09-18 16:23:53
【问题描述】:
我有 CSV 文件
**date column**
06/04/1999
06/04/2000
.
.
.06/04/2017
我只是使用 SSIS 将此文件从 Csv 文件加载到数据库表中
平面文件源到 OLEDB 目标
其中日期列绝对是 DT_STR 而 SQL 表日期列是 varchar(50)
但是当我加载时它的行为会有所不同,有时它会像这样填充
**date column**
06/04/1999
06/04/2000
还有一些其他时间,比如
**date column**
1999-04-06
2000-04-06
我只是想加载与平面文件中相同的内容,但为什么有时会给出“-”。 谁能建议我为什么每次都表现不同。 它在 SSIS 中没有任何转换(如派生列)
【问题讨论】:
-
source后面
metadata的数据类型是什么?第一个更像是在VARCHAR中输入您的目标,但对于第二次加载,它更像是列是DATE格式 -
没有元数据与第一次加载相同@LONG
-
您是否确认文件中的日期始终采用相同的格式,或者这些日期有时采用一种格式,有时采用另一种格式?由于您只是将数据作为字符串导入,因此了解这一点很重要。
-
如果我看到文件看起来与 DD/MM/YYYY 相同的日期格式,我如何验证文件中的日期
-
@mohan111 它可能包含一些不同格式的行,如果两列都是varchar并且在数据导入过程中没有转换,那么问题肯定在平面文件中。看看我提供的答案,然后给我答复
标签: sql sql-server ssis etl