编辑问题(非常感谢billinkc!),因为建议的答案没有解决问题
SSIS包(见下文)正在将BIRTHDATE列从一个临时表移动到另一个临时表。从头开始平面文件源到临时表:
DATE(vachar)列的派生列:
(DT_STR,40,1252)((TRIM(BDAY)==“”?0:1)== 0?((DT_STR,40,1252)“19000101”):((DT_STR,40,1252) (SUBSTRING((REPLACE(BDAY,“/”,“”)),5,4)+ SUBSTRING((REPLACE(“BDAY”,“/”,“”)),3,2)+ SUBSTRING((REPLACE(BDAY, “/”, “”)),1,2))))
第二个包正在尝试将varchar转换为DATE格式但是失败:
第二个表中的目标格式为DATE
错误消息: [数据转换2]错误:将“BIRTHDATE”列(248)转换为“BIRTHDATE”列时数据转换失败(6)。转换返回状态值2和状态文本“由于可能丢失数据,无法转换该值。”。
[数据转换2]错误:SSIS错误代码DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 “Data Conversion.Outputs [Data Conversion Output] .Columns [BIRTHDATE]”失败,因为错误代码0xC020907F发生,错误行处理“Data Conversion.Outputs [Data] 转换输出] .Columns [BIRTHDATE]“指定错误失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,其中包含有关失败的更多信息。
我确实尝试使用Derived Column和经常提出的解决方案,但它没有用。最后的研究解决方案是使用数据转换任务,但是这个在下面返回一个错误。
我错过了什么吗?谢谢你的任何分数! :)