У меня есть источник данных FoxPro, а местом назначения является SQL Server 2008.
На стороне FoxPro у меня есть столбец с типом данных Date
. Это ширина 8, минимальное значение — 0001-01-01, а максимальное — 9999-12-31. На стороне SQL Server у меня есть файл datetime
. Также ширина 8, минимальное значение 1753-01-01 и максимальное 9999-12-31.
В моей задаче потока данных SSIS у меня есть компонент источника OLE DB, который считывается из таблицы FoxPro. Столбцы отображаются как DT_DBDate как во внешних, так и в выходных столбцах. Назначение OLE DB для таблицы SQL Server берет эти столбцы и передает их в DT_DBTIMESTAMP. Я уверен, что DT_DBTIMESTAMP может адекватно обрабатывать эти диапазоны дат, и достаточно уверен в DT_DBDATE (но мне трудно найти его в документации MS).
Проблема
Когда я выполняю задачу, у меня возникают проблемы с ее сбоем и жалобой на «Недопустимый формат даты», а затем на «Сбой преобразования, поскольку значение данных переполняет определенный тип», когда оно встречает значения примерно с начала 1900-х годов до значений более 2050. Я не совсем уверен, где я ошибся.
Дополнительный вопрос
Как я могу справиться с переполнением в моей задаче потока данных?