[ADO NET Destination [2]]错误:数据插入期间发生异常,从提供程序返回的消息是:SqlDateTime overflow。必须在1/1/1753 12:00:00 AM和12/31/9999 11:59:59 PM之间。
我不明白来自ssis的错误消息。我需要帮助。 感谢
答案 0 :(得分:0)
在C#中,当数据从NULL
转换为DateTime时,DataTime.MinValue
= 0001-01-01,但在数据库中,最小值为1/1/1753
,所以你有对NULL
进行一些处理,否则当插入0001-01-01
(从NULL
转换)时,它会抛出该错误。
答案 1 :(得分:0)
双方的日期格式可能存在问题,两个数据库的语言设置可能不同。例如,Oracle使用dd-MM-yyyy,SQL期望MM-dd-yyyy。尝试从两个数据库中选择日期时间字段以检查格式。然后尝试通过SSIS中的某种类型的转换来解决它。您可以尝试将Oracle日期转换为通用日期时间格式,然后再转换回MS SQL日期格式。当然,SSIS应该自动解决它,但使用日期通常是错误和混乱。
另一种可能性是,您正在尝试将Oracle中的TEXT列转换为MSSQL中的datetime列,并且表中的某个值不符合预期的日期格式。