【发布时间】:2019-03-13 17:36:36
【问题描述】:
我有以下简单的 SSIS 包来处理逗号分隔的文件:
我在使用日期列时遇到问题 - 特别是 MoveInDate,其中输入列的数据格式为 '20090731000000'。
它进入数据库列MoveInDt,该列具有日期时间数据类型,数据最终格式为:
'2009-07-31 00:00:00.000'
在 SSIS 中,我将输入列指定为 DT_DBTIMESTAMP。我无法弄清楚如何做一个简单的'如果 MoveInDate 为空白,则加载 null,否则将数据更改为 'YYYY-MM-DD 00:00:00.000'
现在我什至不知道如何加载硬编码日期
失败了
也一样
"2019-01-01"
或者
(DT_DBTIMESTAMP)"2019-01-01"
(DT_DBTIMESTAMP)(DT_DATE)"2019-01-01"
错误:数据流任务中的 0xC02020A1,平面文件源 [11]:数据转换失败。 “移入日期”列的数据转换返回状态值 2 和状态文本“由于可能丢失数据,无法转换该值。”。
错误:数据流任务中的 0xC0209029,平面文件源 [11]:
查看该消息,我发现有关输入到输出列上的数据类型不匹配的帖子,但正在查看它...
查看平面文件输入栏,定义为DT_DBTIMESTAMP
在查看输入输出属性时,目标列也定义为DT_DBTIMESTAMP。
我在这里和其他地方查看了许多问题,并尝试将输入减少到输入文件中的一个简单行。我已经尝试过多次重新创建包。
【问题讨论】:
标签: csv datetime ssis etl flat-file