【发布时间】:2010-12-02 02:54:33
【问题描述】:
我有一个 FoxPro 数据源,目标是 SQL Server 2008。
在 FoxPro 方面,我有一列具有 Date 数据类型。宽度为 8,最小值为 0001-01-01,最大值为 9999-12-31。在 SQL Server 端,我有一个datetime。宽度也为 8,最小值为 1753-01-01,最大值为 9999-12-31。
在我的 SSIS 数据流任务中,我有一个读取 FoxPro 表的 OLE DB 源组件。这些列在外部列和输出列中都映射为 DT_DBDate。 SQL Server 表的 OLE DB 目标采用该列并将其流向 DT_DBTIMESTAMP。我确信 DT_DBTIMESTAMP 可以充分处理这些日期范围,并且可以合理地确定 DT_DBDATE(但在 MS 文档中找不到它)。
问题
当我执行任务时,遇到 1900 年代初期的值时,我遇到了失败并抱怨“日期格式无效”和“转换失败,因为数据值溢出特定类型”的问题,到 2050 年以上的值。我不确定我哪里出错了。
奖金问题
如何处理数据流任务中的溢出?
【问题讨论】: