2010-12-02 2 views
0

У меня есть источник данных FoxPro и назначение SQL Server 2008.SSIS Поток данных переполнен по датам

На стороне FoxPro, у меня есть столбец с типом Date данных. Это ширина 8, min - 0001-01-01, а max - 9999-12-31. На стороне SQL Server у меня есть datetime. Также ширина 8, min равна 1753-01-01, а max - 9999-12-31.

В моей задаче потока данных SSIS у меня есть компонент источника OLE DB, который читается в таблице FoxPro. Столбцы отображаются как DT_DBDate как в столбцах External, так и в Output Columns. Назначение OLE DB в таблицу SQL Server принимает эти столбцы и передает его в DT_DBTIMESTAMP. Я уверен, что DT_DBTIMESTAMP может обрабатывать эти диапазоны дат адекватно и достаточно уверенно в DT_DBDATE (но у меня проблемы с поиском в документации MS).

Проблема

Когда я выполнить задачу, у меня были проблемы с его отсутствии и жалуясь «Недопустимый формат даты», а затем «Конверсия не удалось, так как значение данных переполнена определенный тип», когда он встречает ценности примерно в начале 1900-х годов, до значений более 2050. Я не совсем уверен, где я ошибся.

Bonus Вопрос

Как я могу справиться с переполнением в моей задаче потока данных?

ответ

1

вы можете захотеть сделать простой VFP запрос ищет запись, которые находятся за пределами диапазона, такие как VFP запрос

select * from yourtable 
    where YourDate < date(1753, 1, 1) 
     or YourDate > date(9999, 12, 31) 

посмотреть на этих записях для проблем ... Кроме того, обратите внимание на другом столбцы, которые могут быть причиной ваших граничные вопросы

+0

Да, я думаю, что искал это неправильно. Более уместно обрабатывать в соответствии с бизнес-требованиями, используя запросы, чем что-либо еще. – HackedByChinese 2010-12-22 00:21:56

1

Я думаю, что вы должны решить, что вы хотите сделать с вашими данными

Если вы хотите, чтобы загрузить его, как это, вам нужно изменить тип данных поля, так это сможет провести данные.

Или, если вы хотите исправить неправильные данные, вам необходимо проверить и преобразовать их.

Если вы хотите потратить немного денег, пожалуйста, используйте Advanced ETL Processor.

Работает с текстом, XML, Excel, Access, DBF, Foxpro, ODBC, OLE DB, MS Sql Server, Oracle, MySql, PostgreSQL, Firebird, Interbase, SQLite, POP3, SMTP, файловой системой, FTP, SSL и Unicode.