Поток данных служб SSIS переполнен датами - PullRequest
1 голос
/ 02 декабря 2010

У меня есть источник данных 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 Source, который читает в таблице FoxPro.Столбцы отображаются как DT_DBDate во внешних и выходных столбцах.Назначение OLE DB для таблицы SQL Server берет эти столбцы и передает их в DT_DBTIMESTAMP.Я уверен, что DT_DBTIMESTAMP может адекватно обрабатывать эти диапазоны дат и достаточно уверенно относится к DT_DBDATE (но у меня возникают проблемы с поиском в документации MS).

Проблема

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

Бонусный вопрос

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

Ответы [ 2 ]

2 голосов
/ 02 декабря 2010

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

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

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

1 голос
/ 15 декабря 2010

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

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

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

Если вы хотите потратить немного денег, рассмотрите возможность использования 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...